r - 条件长度警告
问题描述
我的代码有问题。它可以工作,但会返回一条警告消息:条件的长度 > 1,并且只会使用第一个元素。(R 工作室)
你能帮助我吗?非常感谢您
rate<- c(0.10,0.20,0.30,0.40, 0.50)
level <- c(0,10000,20000, 50000, 75000)
add <- c(0,3450, 6960, 17220, 25420)
income <-c(100, 15000, 25000, 55000, 80000)
tax <- function(x) {
control <- function(i) {
if(i < 5){
if (x > level[i] && x <= level[i + 1])
res <- rate[i] * (x - level[i]) + add[i]
} else{
if (x > level[i])
res <- rate[i] * (x - level[i]) + add[i]
}
}
unlist(sapply(1:5, function(i) control (i)))
}
sapply(1:5, FUN= function (i) paste("TAX: ", tax(income)[i]))
解决方案
推荐阅读
- tensorflow - 训练后从 Tensorflow/models 部署推荐模型?
- python - 检查对象是否在集合中(Python)
- javascript - html界面在第一次使用后就消失了,并抛出了一些错误
- php - skaffold 为某些文件重建图像,而不为其他文件重建图像
- java - 由于 setText 方法,AndroidStudio VM 关闭 myapp
- visual-studio-code - pyglet.canvas.xlib.NoSuchDisplayException:无法连接到“无”仅发生在 VSCode 终端中
- python - int() 参数必须是字符串或数字,而不是 'NoneType'
- linux - 如何使用shell从txt中读取一些数据
- c++ - 如果 arr 是一个数组,C++ 中的 *&arr 和 *&arr[0] 有什么区别?
- r - 需要帮助修改 R 中的森林图代码