【问题标题】:Create variables from arbitrary number of observations per ID in R从 R 中每个 ID 的任意数量的观察中创建变量
【发布时间】:2012-03-02 10:02:17
【问题描述】:

我正在尝试从 R 中的数据集创建 4 个新变量,其中每个标识符 (ID) 包含不同数量的观察值。我想将此信息总结为 2 个标志,指示 ID 是否具有 A 或 B 类型的观察值,以及 2 个计数器变量,其中包含每个 ID 的 A 和 B 的总数。

ID<-c(1,1,1,1,1,1,1,2,2,2,2,2,2)
Result<-c('A','A','B','A','A','A','A','B','B','B','B','B','B')
DSN<-data.frame(ID,Result)

输出将是:

    ID  A_Flag  B_Flag  A_Count B_Count
    1   Y   Y   6   1
    2   N   Y   0   6

【问题讨论】:

    标签: r dataframe dataset


    【解决方案1】:

    可能最简单的方法是使用xtabs

    > xtabs(~ID+Result, DSN)
       Result
    ID  A B
      1 6 1
      2 0 6
    

    显然,一个标志可以从上面简单地推导出来:

    > xtabs(~ID+Result, DSN) > 0
       Result
    ID      A    B
      1  TRUE TRUE
      2 FALSE TRUE
    

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 2023-01-13
      • 1970-01-01
      • 2013-12-03
      • 2021-09-27
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多