我使用下面的代碼來計算稅收使用R,其中兩個變量可以作爲參數給出。當使用數據集時,我想根據類別計算稅額。我是包開發新手。請幫我解決這個問題。如何解決:條件長度> 1,只有第一個元素將被使用
我得到錯誤,當我插入數據集只有第一類是計算 並得到這個華林消息。
警告消息: 在如果(類別== 1){: 條件具有長度> 1並且僅將使用的第一元件
IIT<- function(income,category) {
if (category == 1){
if (income > 0 && income <= 18200) {
tax <- 0
} else if (income > 18200 && income <= 37000) {
tax <- (income - 18200) * .10
} else if (income > 37000 && income <= 80000) {
tax <- 3572 + (income - 37000) * .20
} else if (income > 80000 && income <= 180000) {
tax <- 17547 + (income - 80000) * .30
} else if (income > 180000 && Inf) {
tax <- 54547 + (income - 180000) * .40
}
return(tax)}
else if (category==2){
if (income > 0 && income <= 18200) {
tax <- 0
} else if (income > 18200 && income <= 37000) {
tax <- (income - 18200) * .15
} else if (income > 37000 && income <= 80000) {
tax <- 3572 + (income - 37000) * .25
} else if (income > 80000 && income <= 180000) {
tax <- 17547 + (income - 80000) * .35
} else if (income > 180000 && Inf) {
tax <- 54547 + (income - 180000) * .45
}
return(tax)
}
}
你是什麼「傳遞」的功能?單值或數組/數據框? – lbusett
'if(income && category == 1)'應該做什麼,你真的是指'if(category == 1)'? – Bernhard
可以說datset有收入和類別, 收入:25000,25000,30000,30000 類別:1,2,1,2 如程序1中所述,具有不同的稅收設置,2有不同的規則集爲稅。 – Sulthan