【问题标题】:Obtain an array (or a labeled vector) from a frequency table in R从 R 中的频率表中获取数组(或标记的向量)
【发布时间】:2014-03-03 00:03:30
【问题描述】:

我有一个频率表如下:

group    time    event
a         1       0
a         2       1
a         3       0
a         4       2  
a         5       0
b         1       1
b         2       0
b         3       2
b         4       1
b         5       0

我想获得一个表格,该表格仅代表观察到该事件并与该组相关联的时间......如下所示:

group   time (n times, depending how many events occurred for each time)
a       2
a       4
a       4 
b       1
b       3
b       3
b       4 

我只获得了一个带有“rep”函数的向量,但是我失去了组的标签。 由于我的原始数据包含数千行,我真的需要一种快速的方法来完成 R 中的工作。 非常感谢您的建议!

【问题讨论】:

标签: r frequency


【解决方案1】:

根据您的数据

x <- data.frame(group=c(rep("a", 5), rep("b", 5)), 
                time=rep(1:5, 2), 
                event=c(0,1,0,2,0,1,0,2,1,0))

你想要:

x[rep(seq_len(nrow(x)), x$event), 1:2]

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 2011-12-06
    • 1970-01-01
    • 2021-07-01
    相关资源
    最近更新 更多