@
1.寫一個循環(huán)
2.窮舉,將所有的可能都羅列上
3. 使用apply函數(shù),進(jìn)行批量處理
4. 用他提供的數(shù)據(jù)進(jìn)行測試
有朋友給我寫信,問我R語言的問題,與其回復(fù)代碼,不如寫篇博客,順便試試CSDN的新模板。
判斷是否滿足某個條件,然后返回相應(yīng)的值。「比如:」
代碼如下(示例):
if(x >= 22 & x <= 30){
return("A")
}
代碼如下(示例):
test_f = function(x){
if(x >= 22 & x <= 30){
return("A")
}else if(x >=31 & x<=40){
return("B")
}else if(x >=41 & x <=50){
return("C")
}else if(x >=51 & x <=60){
return("D")
}else if(x >61 & x <=70){
return("E")
}
}
apply(dd,1,test_f)
dd = data.frame(age = c(22,23,24,35,36,37,45,46,47,56,57,65,67))
test_f = function(x){
if(x >= 22 & x <= 30){
return("A")
}else if(x >=31 & x<=40){
return("B")
}else if(x >=41 & x <=50){
return("C")
}else if(x >=51 & x <=60){
return("D")
}else if(x >61 & x <=70){
return("E")
}
}
apply(dd,1,test_f)
dd$status = apply(dd,1,test_f)
dd
「測試結(jié)果:」
> dd
age status
1 22 A
2 23 A
3 24 A
4 35 B
5 36 B
6 37 B
7 45 C
8 46 C
9 47 C
10 56 D
11 57 D
12 65 E
13 67 E
這是R語言的循環(huán)判斷,是一個if函數(shù)的應(yīng)用。
「更好的方法」可以用letters函數(shù),進(jìn)行自動賦值,而不用羅列全部的ABCDEFG,會智能一點(diǎn)。這里不再介紹。