我有一个数据框,例如:
sub day
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
我想删除可以通过 sub 和 day 组合识别的特定行。
例如,假设我想删除 sub='1' 和 day='2' 以及 sub=3 和 day='4' 的行。我怎么能这样做呢?
我意识到我可以指定行号,但这需要应用于一个巨大的数据帧,这对于遍历和识别每一行来说是很乏味的。
DF[ ! ( ( DF$sub ==1 & DF$day==2) | ( DF$sub ==3 & DF$day==4) ) , ] # note the ! (negation)
或者,如果 sub 是您使用引号所建议的一个因素:
DF[ ! paste(sub,day,sep="_") %in% c("1_2", "3_4"), ]
还可以使用子集:
subset(DF, ! paste(sub,day,sep="_") %in% c("1_2", "3_4") )
(并且我赞成使用which
在德克的回答中,当使用“[”时,尽管有些人声称不需要它。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)