【问题标题】:Delete single occurances in longitudinal data删除纵向数据中的单个事件
【发布时间】:2014-04-28 01:42:03
【问题描述】:

我正在处理纵向数据。我想删除仅测量一次的人的观察结果(下面的 ID 5、7、9)。我该怎么做呢?假设 id 是数据集中人员的唯一标识符。因此,我想删除与 id 5,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)) 

【问题讨论】:

    标签: r count dataframe plyr


    【解决方案1】:

    如果您将帖子标记为R,data.frame,您会立即获得帮助

    这里,! "not" 函数用于删除与值 c(5,7,9) 匹配的 id

    > 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
    

    【讨论】:

    • 显然,这只是一个样本数据集。对于 1000 次观察,上述解决方案将非常乏味。
    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 2014-03-23
    • 2011-03-11
    • 2013-02-15
    • 2019-07-22
    • 2014-09-23
    • 2018-03-13
    相关资源
    最近更新 更多