我试图弄清楚如何根据变量的重复值对我的数据集进行子集化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
and之间id = 2
)3 在一个 id 和另一个之间的重叠。你会采用哪种策略?