我有一个 R data frame
哪些列是逻辑变量。
我需要在所有可能的列对之间创建某种点积。
这源于文本语料库分析,其中数据框指示哪些术语(行)出现在哪些文档(列)中。对于希望使用 daisy
计算每个可能的列对的距离的情况,有常见的快速解决方案。来自cluster
包或cosine
来自lsa
包裹。
但是,我需要在所有列对之间使用某种点积:目标是计算比较的两个文档中同时存在的单词数量(对于每个一对)。
最佳答案
让我们使用这个例子:
df <- data.frame(x1 = c(T, T, F), x2 = c(F, F, F), x3 = c(T, F, T))
我会将 data.frame 转换为矩阵,然后计算叉积:
crossprod(data.matrix(df))
# x1 x2 x3
# x1 2 0 1
# x2 0 0 0
# x3 1 0 2
关于r - 计算数据框中所有列对之间的点积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849729/