【发布时间】:2021-09-06 08:30:12
【问题描述】:
我想改变 R data.table 中的一列。
这是我的数据示例。
df <- data.table(id=c(1,1,1,2,2,2,3,3,3),
stopId=c("a","b","c","a","b","c","a","b","c"),
category=c(1,1,1,NA,NA,NA,2,2,2),
result = c('a','a','a','b','b','b','c','c','c'))
我的目标是使用if-else 命令创建一个列。
该列将是groupId group by id 的第一个值。
重点是在变异的时候,分组的值应该是一样的。
如果category 是NA,那么结果应该是groupId 的最后一个值。
这是我期待的结果。
id groupId category result
1: 1 a 1 a
2: 1 b 1 a
3: 1 c 1 a
4: 2 a NA b
5: 2 c NA b
6: 2 b NA b
7: 3 c 2 c
8: 3 b 2 c
9: 3 a 2 c
如果您能帮助我,我将不胜感激。 谢谢!
【问题讨论】:
标签: r data.table