【问题标题】:Count how often two factors have the same output value计算两个因子具有相同输出值的频率
【发布时间】:2022-06-15 21:51:56
【问题描述】:

我想计算两个人共享同一个组号的次数。我正在处理一个相当大的数据集(169 个人和超过 1000 个观察值(行)),我正在寻找一种有效的方法来计算它们在同一组中的出现。我的(简化的)数据如下所示:

ID Group number Date Time
Aa 1 15-06-22 15:05:22
Bd 1 15-06-22 15:05:27
Cr 2 15-06-22 15:07:12
Bd 1 15-06-22 17:33:15
Aa 2 15-06-22 17:36:54
Cr 2 15-06-22 17:37:01
...

我希望我的输出数据如下所示:

Aa-Bd Aa-Cr Bd-Cr ...
1 1 0

或者:

Occurrence Dyad
1 Aa-Bd; Aa-Cr
0 Bd-Cr

甚至矩阵也可以。我一直在尝试复制针对此问题提出的解决方案:Count occurrences of a variable having two given values corresponding to one value of another variable 但由于某种原因,我的矩阵仍然是空的,即使我知道某些人已经与其他人分组。

任何帮助和建议将不胜感激!我觉得解决方案不应该太复杂,但由于某种原因我似乎无法弄清楚。

提前致谢!

【问题讨论】:

    标签: r matrix dplyr count data-wrangling


    【解决方案1】:

    这根本没有效率,但可以作为起点使用(GN表示组号)

    my_ID <- unique(df$ID)
    matrix <- matrix(nrow = length(my_ID),ncol = length(my_ID))
    
    for (i in 1:length(my_ID)){
      for (j in 1:length(my_ID)){
        matrix[i,j] <- length(intersect(df$GN[df$ID == my_ID[i]],df$GN[df$ID == my_ID[j]]))}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2017-01-10
      • 2012-02-11
      • 1970-01-01
      • 2019-10-17
      • 2016-07-12
      • 2017-08-18
      相关资源
      最近更新 更多