作者ronald736 (明天会更好)
看板R_Language
标题[问题] 如何将function放入回圈? (求救)
时间Sat Oct 6 11:11:17 2018
我想将资料每笔按照规则分群,资料如下图:
https://imgur.com/a/wXNRKJ6
图中想把"平均成绩"依照P50、P70这2个栏位分成3类
平均成绩 < P50 为第3类
平均成绩 >= P50 且 <P75 为第2类
平均成绩 >=P75 为第1类
我打算将function放入回圈 (因为是要每1笔都依照栏位分群)
程式码如下,能否帮我看看是写法上错误吗? 还是那边的观念不对?
classp <- NULL
for (i in 1:dim(pdata)[1]) {
cf <- function(pdata$平均成绩[i])
{
if (pdata$平均成绩[i]<pdata$P50[i]) {
classp[i] = 3
} else if (pdata$平均成绩[i]>=pdata$P50[i] & pdata$平均成绩
[i]<pdata$P75[i]) {
classp[i] = 2
} else {
classp[i] = 1
}
return(classp[i])
}
classp[i] <- cf(pdata$平均成绩[i])
}
classp
程式码与错误图:
程式码 :
https://imgur.com/a/Sw9Mrmb
错误 :
https://imgur.com/a/3DeYkYJ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.168.247
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1538795480.A.C1E.html
1F:→ HumuHumu: 你function的写法完全写错了 10/06 12:28
2F:推 celestialgod: 为什麽不直接用cut或是findInterval就好..... 10/06 15:29