【问题标题】:Create a frequency matrix using 2 columns of a dataframe in R使用 R 中数据帧的 2 列创建频率矩阵
【发布时间】:2022-11-10 20:25:19
【问题描述】:

我有一个包含两列的大型数据集。 这是它的代表 l1=data.frame(c1=c("A","A","A","B","B","C","D","D"),c2=c("cat","dog","cow","pig","dog","horse","cat","goat"))

我需要创建一个频率矩阵,其中 c1 作为列,c2 作为行,以及每个单元格中 c1 中 c2 的每个值的出现次数。

输出应该是这样的

       c1
c2      A B C D
  cat   1 0 0 1
  cow   1 0 0 0
  dog   1 1 0 0
  goat  0 0 0 1
  horse 0 0 1 0
  pig   0 1 0 0

我尝试使用 table() 和 xtabs()。它们适用于这个较小的数据集,但不适用于我实际的非常大的数据集。 由于它是一个非常大的数据集,因此没有 for 循环的解决方案也会有所帮助。 谢谢!

【问题讨论】:

    标签: r rstudio


    【解决方案1】:
    t(table(l1))
    
           c1
    c2      A B C D
      cat   1 0 0 1
      cow   1 0 0 0
      dog   1 1 0 0
      goat  0 0 0 1
      horse 0 0 1 0
      pig   0 1 0 0
    

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多