R 将数据帧中特定变量的值对折

R 将数据帧中特定变量的值对折,r,R,我试图做一件非常基本的事情,但看起来我做错了什么。我的目标是将数据框架中工资变量的值分类为低、中、高。但我的做法并没有达到预期的效果。你能指出我哪里做错了吗 Salary<-c(30,40,50,60,80,100,200,300) Sample<-data.frame(Salary) Sample$Salary[Sample$Salary>=30 & Sample$Salary<=60]<-"low" Sample$Salary[Sample$Salary

我试图做一件非常基本的事情,但看起来我做错了什么。我的目标是将数据框架中工资变量的值分类为低、中、高。但我的做法并没有达到预期的效果。你能指出我哪里做错了吗

Salary<-c(30,40,50,60,80,100,200,300)
Sample<-data.frame(Salary)
Sample$Salary[Sample$Salary>=30 & Sample$Salary<=60]<-"low"
Sample$Salary[Sample$Salary>60& Sample$Salary<=100]<-"med"
Sample$Salary[Sample$Salary>100]<-"high"

Salary请为您的问题找到答案。请始终尝试在函数中编写此内容

salary = as.data.frame(c(30,40,50,60,80,100,200,300))


salary_condition = function(x){

if (x >30 & x <= 60){
print("low")
}else if(x>60 & x<=100){
 print("medium")
} else if(x>100){
print("High")
} else {
print("nothing")
salary=as.data.frame(c(30,40,50,60,80100200300))
工资条件=功能(x){
如果(x>30和x 60和x100){
打印(“高”)
}否则{
打印(“无”)
} }


薪资条件(100)将改为“中等”

使用
cut
。它是为这种类型的操作而设计的。这将起作用:
cut(Salary,c(30,60,100,Inf),labels=c(“low”,“med”,“high”),include.lowest=TRUE)
第一次替换会导致整个列隐式转换为
字符