【发布时间】:2020-02-24 14:51:45
【问题描述】:
data=data.frame("student"=c(1,1,1,1,2,2,2,2,3,3,4,4,4,4),
"score"=c(1,2,1,1,2,3,2,NA,3,NA,1,3,2,1),
"drop"=c(0,0,0,0,0,0,0,1,0,1,0,0,0,0),
"WANT"=c(1,2,1,1,2,3,3,4,3,4,1,3,3,3))
我有没有“WANT”的数据框“数据”,这是我希望使用 data.table 解决方案创建的。
规则是:
如果 score = 1, WANT = 1 如果 score = 2, WANT = 2 如果 score = 3, WANT = 3, 如果 drop = 1, WANT=4
如果在 t = 2 时得分并且在 t+1 = 1 时得分,那没关系,但是
如果 t = 3 的得分和任何以后的得分都小于 3,则将它们替换 3.
这意味着一个分数系列:1-2-1-3-1 should be: 1-2-1-3-3
data2=data.frame("student"=c(1,1,1,1,2,2,2,2,3,3,4,4,4,4,5,5,5,5),
"score"=c(1,2,1,1,2,3,2,NA,3,NA,1,3,2,1,1,3,NA,2),
"drop"=c(0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0),
"WANT"=c(1,2,1,1,2,3,3,4,3,4,1,3,3,3,1,3,3,3))
【问题讨论】:
标签: r dplyr data.table