如何将值舍入到R中的下限
我必须创建一个名为SalaryX的新列,该列的值计算如下:如何将值舍入到R中的下限,r,R,我必须创建一个名为SalaryX的新列,该列的值计算如下: cut(employee$salary, 5, include.lowest = T, labels = c("20000", "30000", "40000", "50000", "60000")) 如果原始工资在20000到30000之间,则其薪水应为20000;如果原始工资在30000到40000之间,则其薪水应为30000,依此类推 我尝试使用cut功能,如下所示: cut(employee$salary, 5, includ
cut(employee$salary, 5, include.lowest = T, labels = c("20000", "30000", "40000", "50000", "60000"))
如果原始工资在20000到30000之间,则其薪水应为20000;如果原始工资在30000到40000之间,则其薪水应为30000,依此类推
我尝试使用cut
功能,如下所示:
cut(employee$salary, 5, include.lowest = T, labels = c("20000", "30000", "40000", "50000", "60000"))
但是,如果工资值是25600,那么工资将被计算为30000
还有别的办法吗 您需要手动指定中断
cut(employee$salary,breaks = c(20000, 30000, 40000, 50000, 60000, 70000) , include.lowest = T, labels= c("20000", "30000", "40000", "50000", "60000"))
从文件中:
中断:两个或多个唯一切割点的数字向量,或给出x要切割到的间隔数的单个数字(大于或等于2)
这意味着,如果您仅指定一个数字,R将根据输入自动确定切割点,但如果您手动提供打断,则将获得所需的标高 您需要手动指定中断
cut(employee$salary,breaks = c(20000, 30000, 40000, 50000, 60000, 70000) , include.lowest = T, labels= c("20000", "30000", "40000", "50000", "60000"))
从文件中:
中断:两个或多个唯一切割点的数字向量,或给出x要切割到的间隔数的单个数字(大于或等于2)
这意味着,如果您仅指定一个数字,R将根据输入自动确定切割点,但如果您手动提供打断,则将获得所需的标高 这里有一个dplyr
解决方案,使用case\u when()
和between()
下面是一个使用case\u when()
和between()的dplyr
解决方案
假设所有的中断间隔为10000次,则需要一个更有效的解决方案
salary <- c(10000, 12000, 29000, 30000, 35000, 39000, 51000)
floor(salary/10000) * 10000
# [1] 10000 10000 20000 30000 30000 30000 50000
salary假设所有的中断间隔都是10000次,那么一个更有效的解决方案是
salary <- c(10000, 12000, 29000, 30000, 35000, 39000, 51000)
floor(salary/10000) * 10000
# [1] 10000 10000 20000 30000 30000 30000 50000
后代薪资说明,仅适用于等距类别备注后代薪资说明,仅适用于等距类别