【发布时间】:2020-04-17 00:08:00
【问题描述】:
我正在尝试从 R 中进行 Jaccard 分析。
但是,在处理之后,我的结果列是 NULL。
我尝试了很多方法来解决,但问题仍然存在。
谁能帮帮我?
#######################PROCESSING JACCARD ANAYLSIS###################
Jaccard = function (x, y) {
M.11 = sum(x == 1 & y == 1)
M.10 = sum(x == 1 & y == 0)
M.01 = sum(x == 0 & y == 1)
return (M.11 / (M.11 + M.10 + M.01))
}
input.variables = data.frame(Q6_01, Q6_02, Q6_03, Q6_04, Q6_05, Q6_06, Q6_07, Q6_08)
m = matrix(data = NA, nrow = length(input.variables), ncol = length(input.variables))
for (r in 1:length(input.variables)) {
for (c in 1:length(input.variables)) {
if (c == r) {
m[r,c] = 1
} else if (c > r) {
m[r,c] = Jaccard(input.variables[,r], input.variables[,c])
}
}
}
variable.names = sapply(input.variables, attr, "label")
colnames(m) = variable.names
rownames(m) = variable.names
jaccards = m
【问题讨论】:
-
variable.names包含什么? -
... 因为通常数据框没有标签,它们有
names--> 也许您看到 NULL 的原因。试试names(input.variables) -
您好,
sapply(input.variables, attr, "label")的输出是什么?看起来您的input.variables中可能没有任何名为"label"的属性,并且您从sapply获得了NULLs 的列表。
标签: r statistics data-analysis