R 删除纵向数据中的单一事件

R 删除纵向数据中的单一事件,r,count,dataframe,plyr,R,Count,Dataframe,Plyr,我正在处理纵向数据。我想删除只测量过一次的人的观察结果(下面的ID5,7,9)。我该怎么做?假设id是数据集中人员的唯一标识符。因此,我希望删除与ID5、7和9相关的观察结果。我在plyr中使用了复制、唯一、表函数和计数函数,但没有成功。下面是示例数据 y<-sample(1:10, 20, replace=TRUE) x<-sample(c(0,1),20, replace=TRUE) id<-c(1,1,1,2,2,2,3,3,3,4,4,4,5,6,6,7,8,8,8,9

我正在处理纵向数据。我想删除只测量过一次的人的观察结果(下面的ID5,7,9)。我该怎么做?假设id是数据集中人员的唯一标识符。因此,我希望删除与ID5、7和9相关的观察结果。我在plyr中使用了复制、唯一、表函数和计数函数,但没有成功。下面是示例数据

y<-sample(1:10, 20, replace=TRUE)
x<-sample(c(0,1),20, replace=TRUE)
id<-c(1,1,1,2,2,2,3,3,3,4,4,4,5,6,6,7,8,8,8,9)
data<-data.frame(cbind(y,x,id)) 

y如果您将帖子标记为
R
data.frame

这里是
“非”功能用于删除与值
c(5,7,9)


显然,这只是一个样本数据集。上面的解决方案将是非常乏味的1000次观测。
> data[!data$id %in% c(5,7,9),]
   y x id
1  3 0  1
2  2 1  1
3  3 0  1
4  9 0  2
5  9 0  2
6  1 0  2
7  9 0  3
8  7 0  3
9  4 0  3
10 9 1  4
11 7 0  4
12 8 1  4
14 4 1  6
15 1 0  6
17 2 0  8
18 8 0  8
19 2 0  8