【问题标题】:Counting unique variables within a unique variables [R]计算唯一变量中的唯一变量 [R]
【发布时间】:2014-04-09 13:18:51
【问题描述】:

假设这是我的数据:

X   Y   Z
1   1   2323   
1   1   45
1   1   67 
1   2   1
1   2   90
1   3   34
1   3   1267
1   3   623
1   4   81
1   4   501
2   1   456
2   1   78
2   2   41
2   2   56
2   3   90
2   3   71
2   4   24
2   4   98
2   5   42
2   5   361

如何为每个单独的 X 计算每个唯一变量 YZ 的值,以便获得如下所示的数据框:

X   Y   Z
1   1   2435
1   2   91
1   3   1924
1   4   582
2   1   534
2   2   97
2   3   161
2   4   122
2   5   403

【问题讨论】:

    标签: r sum unique


    【解决方案1】:

    假设数据框名为“dat”,那么 aggregate.formula 是聚合的泛型之一:

     > aggregate( Z ~ X + Y, data=dat, FUN=sum)
    
      X Y    Z
    1 1 1 2435
    2 2 1  534
    3 1 2   91
    4 2 2   97
    5 1 3 1924
    6 2 3  161
    7 1 4  582
    8 2 4  122
    9 2 5  403
    

    也可以使用xtabs,它返回一个表对象,然后使用 as.data.frame 将其转换为数据框:

     as.data.frame( xtabs( Z ~ X+Y, data=dat) )
    

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多