【问题标题】:Calculating proportions by using ddply使用 ddply 计算比例
【发布时间】:2014-10-03 12:20:51
【问题描述】:

我正在尝试查找每个 ICPSR 的主题比例。数据如下所示。

           ICPSR       date day     month year mention topic
   169538 15444 2009-06-02   2      June 2009       1    18
   169544 15444 2010-03-02   2     March 2010       1    20
   169581 15444 2010-09-30  30 September 2010       1    18
   169609 15444 2009-06-03   3      June 2009       1     1
   169729 20909 2009-11-17  17  November 2009       1     9
   169791 29317 2009-03-13  13     March 2009       1    13

我试图找到:对于每个 ICPSR,每个主题的比例是多少。 为了显示我想要的输出,如下所示。

     ICPSR  topic.1 topic.9 topic.13 topic.18 topic.20  
   1 15444   0.25      0        0       0.5      0.25
   2 20909    0        1        0        0        0
   3 29317    0        0        1        0        0

我尝试使用ddply,例如: ddply(c.analyze1, c("ICPSR"), summarize, sum(mention)))/ddply(c.analyze1, c("ICPSR","topic"), summarize, sum(mention)))。但这找不到我想要的输出。

我希望可以有任何命令或代码建议。谢谢!

【问题讨论】:

    标签: r plyr


    【解决方案1】:

    您实际上并不需要 ddply。您可以使用prop.table

    如果df 是您的数据,

    prop.table(table(df$ICPSR, df$topic), 1)
    #       
    #           1    9   13   18   20
    #  15444 0.25 0.00 0.00 0.50 0.25
    #  20909 0.00 1.00 0.00 0.00 0.00
    #  29317 0.00 0.00 1.00 0.00 0.00
    

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 2015-10-26
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 2013-04-08
      相关资源
      最近更新 更多