我有重复测量数据集。我需要删除所有参与者,其中该人的观察数量少于3.最佳方法是什么?
x <- c(9, 9, 9, 11, 11, 23, 23, 23, 23, 45, 45, 45, 56, 56)
此处需要从数据中删除11和56。 到目前为止,我已经创建了一个数据框,其中包含我想要保留的所有数据框但不确定如何使用新数据框操作数据集
x <- as.data.frame(table(x))
x1 <- x[x$Freq > 2,]
答案 0 :(得分:4)
ave()
函数还有一个:
x[ave(x,x,FUN=length) > 2]
在回答你的评论时,你应该这样做:
raw.data1 <- raw.data[ave(raw.data$REGISTRA,raw.data$REGISTRA,FUN=length) > 2]
另请阅读ave的帮助页面,它将帮助您了解代码正在做什么。
答案 1 :(得分:4)
x[x %in% names(table(x)[table(x) >=3])]