Calculate marginal tax rates using R, applied to a list
I am using O'Brien's approach to solve this problem:
Calculate marginal tax rates using R
I am trying to apply the basic formula
> sum(diff(c(0, pmin(income, brackets))) * rates)
from O'Brien's function:
income_tax <-
function(income,
brackets = c(18200, 37000, 80000, 180000, Inf),
rates = c(0, .19, .325, .37, .45))
sum(diff(c(0, pmin(income, brackets))) * rates)
to a list:
income <- c(16000, 45000, 200000, 150000)
I get the following warnings:
Warning messages: 1: In pmin(): an
argument will be fractionally recycled 2: In diff() : longer
object length is not a multiple of shorter object length
Along with output from the last element in the income list
Expected output is also a list of tax amounts calculated by the basic formula
Could someone point me in the right direction? Or is there a more elegant way of going about this?
r
add a comment |
I am using O'Brien's approach to solve this problem:
Calculate marginal tax rates using R
I am trying to apply the basic formula
> sum(diff(c(0, pmin(income, brackets))) * rates)
from O'Brien's function:
income_tax <-
function(income,
brackets = c(18200, 37000, 80000, 180000, Inf),
rates = c(0, .19, .325, .37, .45))
sum(diff(c(0, pmin(income, brackets))) * rates)
to a list:
income <- c(16000, 45000, 200000, 150000)
I get the following warnings:
Warning messages: 1: In pmin(): an
argument will be fractionally recycled 2: In diff() : longer
object length is not a multiple of shorter object length
Along with output from the last element in the income list
Expected output is also a list of tax amounts calculated by the basic formula
Could someone point me in the right direction? Or is there a more elegant way of going about this?
r
What is your expected output?
– wl1234
Nov 13 '18 at 22:56
It's not an error. In R warnings are different than errors. If you want tested code you should provide everything needed to make your code run. In this case that means at the very leastrates
andbrackets
.
– 42-
Nov 13 '18 at 23:30
It looks like theincome_tax
function was mean to be used with a single (scalar) value for "income". I'm guessing that you are sending it a vector of incomes instead.
– jdobres
Nov 14 '18 at 0:23
add a comment |
I am using O'Brien's approach to solve this problem:
Calculate marginal tax rates using R
I am trying to apply the basic formula
> sum(diff(c(0, pmin(income, brackets))) * rates)
from O'Brien's function:
income_tax <-
function(income,
brackets = c(18200, 37000, 80000, 180000, Inf),
rates = c(0, .19, .325, .37, .45))
sum(diff(c(0, pmin(income, brackets))) * rates)
to a list:
income <- c(16000, 45000, 200000, 150000)
I get the following warnings:
Warning messages: 1: In pmin(): an
argument will be fractionally recycled 2: In diff() : longer
object length is not a multiple of shorter object length
Along with output from the last element in the income list
Expected output is also a list of tax amounts calculated by the basic formula
Could someone point me in the right direction? Or is there a more elegant way of going about this?
r
I am using O'Brien's approach to solve this problem:
Calculate marginal tax rates using R
I am trying to apply the basic formula
> sum(diff(c(0, pmin(income, brackets))) * rates)
from O'Brien's function:
income_tax <-
function(income,
brackets = c(18200, 37000, 80000, 180000, Inf),
rates = c(0, .19, .325, .37, .45))
sum(diff(c(0, pmin(income, brackets))) * rates)
to a list:
income <- c(16000, 45000, 200000, 150000)
I get the following warnings:
Warning messages: 1: In pmin(): an
argument will be fractionally recycled 2: In diff() : longer
object length is not a multiple of shorter object length
Along with output from the last element in the income list
Expected output is also a list of tax amounts calculated by the basic formula
Could someone point me in the right direction? Or is there a more elegant way of going about this?
r
r
edited Nov 13 '18 at 23:40
PSJupiter2
asked Nov 13 '18 at 22:44
PSJupiter2PSJupiter2
83
83
What is your expected output?
– wl1234
Nov 13 '18 at 22:56
It's not an error. In R warnings are different than errors. If you want tested code you should provide everything needed to make your code run. In this case that means at the very leastrates
andbrackets
.
– 42-
Nov 13 '18 at 23:30
It looks like theincome_tax
function was mean to be used with a single (scalar) value for "income". I'm guessing that you are sending it a vector of incomes instead.
– jdobres
Nov 14 '18 at 0:23
add a comment |
What is your expected output?
– wl1234
Nov 13 '18 at 22:56
It's not an error. In R warnings are different than errors. If you want tested code you should provide everything needed to make your code run. In this case that means at the very leastrates
andbrackets
.
– 42-
Nov 13 '18 at 23:30
It looks like theincome_tax
function was mean to be used with a single (scalar) value for "income". I'm guessing that you are sending it a vector of incomes instead.
– jdobres
Nov 14 '18 at 0:23
What is your expected output?
– wl1234
Nov 13 '18 at 22:56
What is your expected output?
– wl1234
Nov 13 '18 at 22:56
It's not an error. In R warnings are different than errors. If you want tested code you should provide everything needed to make your code run. In this case that means at the very least
rates
and brackets
.– 42-
Nov 13 '18 at 23:30
It's not an error. In R warnings are different than errors. If you want tested code you should provide everything needed to make your code run. In this case that means at the very least
rates
and brackets
.– 42-
Nov 13 '18 at 23:30
It looks like the
income_tax
function was mean to be used with a single (scalar) value for "income". I'm guessing that you are sending it a vector of incomes instead.– jdobres
Nov 14 '18 at 0:23
It looks like the
income_tax
function was mean to be used with a single (scalar) value for "income". I'm guessing that you are sending it a vector of incomes instead.– jdobres
Nov 14 '18 at 0:23
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290632%2fcalculate-marginal-tax-rates-using-r-applied-to-a-list%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290632%2fcalculate-marginal-tax-rates-using-r-applied-to-a-list%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What is your expected output?
– wl1234
Nov 13 '18 at 22:56
It's not an error. In R warnings are different than errors. If you want tested code you should provide everything needed to make your code run. In this case that means at the very least
rates
andbrackets
.– 42-
Nov 13 '18 at 23:30
It looks like the
income_tax
function was mean to be used with a single (scalar) value for "income". I'm guessing that you are sending it a vector of incomes instead.– jdobres
Nov 14 '18 at 0:23