r - R中的重叠矩阵

标签 r

我有以下数据框

id channel
1  a
1  b
1  c
2  a
2  c
3  a

我想创建和重叠矩阵。它基本上是一个方阵,行和列标签为 a、b、c,该表中的每个条目显示每个 channel 共有多少个 id。例如在上面的例子中,矩阵看起来像
  a b c
a 3 1 2
b 1 1 1
c 2 1 2

非常感谢。

最佳答案

这应该可以解决问题:

df <- data.frame(id=c(1,1,1,2,2,3), channel=letters[c(1,2,3,1,3,1)]) # your data

m <- table(df[[1]], df[[2]])   ## Alternatively:  m <- do.call(table, df)
t(m) %*% m
#   a b c
# a 3 1 2
# b 1 1 1
# c 2 1 2

关于r - R中的重叠矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11746969/

相关文章:

r - 如何删除 R 中传单 map 中的归因

r - 是否可以让RStudio显示自定义函数的函数参数和描述?

r - data.table 列上的差异

r - dplyr:计算data.frame中许多列的水平百分比并将其转换为宽

r - 获取列表行中的第一个条目?

R grep特殊字符存储在变量中

r - 基于物种特征值模拟随机二分网络 - 在R中

r - 使 ggplot2 中的 geom_smooth() 适应观测数量

r - 将特殊字符(斯洛文尼亚语)绘制到 knitr latex 报告中的问题

r - R 中多重插补数据集的多级回归模型(Amelia、zelig、lme4)