我有一个data.frame,d:
d<-data.frame(id=c(1,1,1,1,2,2,3,3,3,3), var=c("no", "no", "no", "yes", "no", "yes", "no", "yes", "yes", "yes"))
我想为每个ID返回所有“no”行,导致“是”并包括第一个“是”。
期望的结果:
id var
1 no
1 no
1 no
1 yes
2 no
2 yes
3 no
3 yes
答案 0 :(得分:2)
正如@joran所指出的,包含您尝试过的内容是礼貌的。这也增加了你的问题获得投票的可能性。这个问题很基本,甚至对R的基本理解都可以得出一些东西。
无论如何,这将做你想做的事:
d[! duplicated(d) | d$var == 'no', ]