【问题标题】:Counting combined occurrences across two columns计算两列中的组合出现次数
【发布时间】:2015-02-02 00:48:37
【问题描述】:

您好,我有一个数据框 Y,如下所示

O  T  Dist
2  13 0.123 
2  3  0.452
2  4  0.213
3  5  0.231
3  8  0.213
4  5  0.123
5  8  0.543

我希望创建一个新的数据框来计算数字出现在 O 列和 T 列中的总次数。输出应该是这样的。

P  freq 
2  3
3  3
4  2
5  3
8  2
13 1

提前感谢您的帮助

【问题讨论】:

    标签: r find-occurrences


    【解决方案1】:

    这个呢?

    as.data.frame(table(c(df$O, df$T)))
      Var1 Freq
    1    2    3
    2    3    3
    3    4    2
    4    5    3
    5    8    2
    6   13    1
    

    【讨论】:

    • 不会。我只会考虑第一列,他希望前两列合并
    【解决方案2】:
    counts = table(c(df$O,df$T))
    new.df = data.frame(P=as.integer(names(counts)),Freq=as.integer(counts))
    

    【讨论】:

      【解决方案3】:

      这是一个使用data.table的选项,我们在数据集“Y”(Y[-3])中选择列“O”、“T”、unlist,使用setDT(list(..))创建一个“data.table” ,按“V1”分组并获取计数 (.N)

      library(data.table)
      setDT(list(unlist(Y[-3])))[,.N, keyby=V1]
      #   V1 N
      #1:  2 3
      #2:  3 3
      #3:  4 2
      #4:  5 3
      #5:  8 2
      #6: 13 1
      

      【讨论】:

        猜你喜欢
        • 2014-04-09
        • 1970-01-01
        • 2016-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        相关资源
        最近更新 更多