如果有n个obs,则删除重复的obs数据<;x在R中

如果有n个obs,则删除重复的obs数据<;x在R中,r,measures,R,Measures,我有一个重复测量数据集。我需要删除所有观察次数少于3次的参与者。最好的方法是什么 x <- c(9, 9, 9, 11, 11, 23, 23, 23, 23, 45, 45, 45, 56, 56) x为ave()函数再添加一个: x[ave(x,x,FUN=length) > 2] 在回答您的评论时,您应该这样做: raw.data1 <- raw.data[ave(raw.data$REGISTRA,raw.data$REGISTRA,FUN=length) >

我有一个重复测量数据集。我需要删除所有观察次数少于3次的参与者。最好的方法是什么

x <- c(9, 9, 9, 11, 11, 23, 23, 23, 23, 45, 45, 45, 56, 56)
x为
ave()
函数再添加一个:

x[ave(x,x,FUN=length) > 2]
在回答您的评论时,您应该这样做:

raw.data1 <- raw.data[ave(raw.data$REGISTRA,raw.data$REGISTRA,FUN=length) > 2]
raw.data1 2]

另外,请阅读ave的“帮助”页面,这将帮助您了解代码的具体操作。

我的数据集相当大(1000的obs),因此这需要相当长的时间才能运行。也许有一种替代方法可以使用for循环或其他什么?>raw.data1 2]错误:内存耗尽(达到限制?)此外:>for循环并不完全是速度的替代方法。正确应用ave也会有所帮助;)我一开始就是这样做的,它会发出警告。>raw.data1 2]在
[.data.frame
中出错(raw.data,ave(raw.data$regista,raw.data$regista,:未定义的列被选中另外:有50个或更多的警告(使用warnings()查看前50个)>警告()警告消息:1:in
[ahhh认为在]我的数据集相当大(1000的obs)之前需要一个逗号所以这需要相当长的时间来运行。也许有一种替代方法可以使用for循环或其他什么?–user1033745 45分钟前>raw.data1 2]错误:内存耗尽(达到限制?)此外:这也可以回答,当然你需要及时向前移动才能知道它将被发布。在使用因子时,数据转换的麻烦更少。Nice是一个完美的解决方案,谢谢!
x[x %in% names(table(x)[table(x) >=3])]
x[x %in% names(table(x)[table(x) >=3])]