【发布时间】:2013-01-12 01:14:33
【问题描述】:
我试图弄清楚如何根据变量s 的重复值对我的数据集进行子集化,同时考虑到与行关联的id。
假设我的数据集是:
dat <- read.table(text = "
id s
1 2
1 2
1 1
1 3
1 3
1 3
2 3
2 3
3 2
3 2",
header=TRUE)
我想做的是,对于每个id,只保留s = 3 的第一行。 dat 的结果是:
id s
1 2
1 2
1 1
1 3
2 3
3 2
3 2
我曾尝试同时使用duplicated() 和which() 来使用subset(),但我不会去任何地方。主要问题是隔离s = 3“块”的第一行是不够的,因为在某些情况下(如id = 1 和id = 2 之间的此处)3 在一个id 和另一个id 之间重叠。你会采取什么策略?
【问题讨论】:
-
在 id=1 where s=2 和 id=3 where s=2 中也有重复,你想保留这些还是删除它们?
-
是的,我想保留它们,谢谢