在数据帧中消除特定变量的值

时间:2017-05-17 12:28:56

标签: r

我正在尝试执行一个非常基本的事情,但看起来我做错了什么。我的目标是将数据框中的Salary变量值分类为low,medium和high。但我正在做的方式,我没有得到预期的结果。你能指出我做错了吗?

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"

我希望从30到60的薪水值被分类为低,60到100之间的值作为med,值大于100。但我的上述代码产生了这个结果:

  

样品$薪金

[1]&#34;高&#34; &#34;高&#34; &#34;高&#34; &#34;高&#34; &#34;高&#34; &#34; 100&#34; &#34;高&#34; &#34;高&#34;

那我在哪里有错?提前道歉,这可能是一件非常简单的事情,我必须在这里做错事。

1 个答案:

答案 0 :(得分:0)

请找到你的问题的答案。总是试着在函数中写这个。

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_condition(100)会给出“中等”