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