我正在尝试执行一个非常基本的事情,但看起来我做错了什么。我的目标是将数据框中的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;
那我在哪里有错?提前道歉,这可能是一件非常简单的事情,我必须在这里做错事。
答案 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)会给出“中等”