corrplot允许您在R
中绘制相关矩阵的方式我知道如何在R中绘制关联矩阵 关联方法使用任何用户指定的方法,如Cramer的V
答案 0 :(得分:1)
您的问题的答案很大程度上取决于您获得的数据和特定的相关方法。我假设你有一堆名义变量,并希望看看它们是否在相关图上使用Cramer的V相关。在这种情况下,一种方法是:
vcd
库,因为它有计算Cramer的V的方法。丑陋但下面列出了执行此操作的代码。我玩了outer - 使用行和列索引的最清晰,最精确的方法,但是使用来自df
的行和列索引在m
中索引列的问题:由于某种原因它只是不想从df变量。
install.packages("vcd")
library(vcd)
# Simulate some data or paste your own
df <- data.frame(x1 = sample(letters[1:5], 20, replace = TRUE),
x2 = sample(letters[1:5], 20, replace = TRUE),
x3 = sample(letters[1:5], 20, replace = TRUE))
# Initialize empty matrix to store coefficients
empty_m <- matrix(ncol = length(df),
nrow = length(df),
dimnames = list(names(df),
names(df)))
# Function that accepts matrix for coefficients and data and returns a correlation matrix
calculate_cramer <- function(m, df) {
for (r in seq(nrow(m))){
for (c in seq(ncol(m))){
m[[r, c]] <- assocstats(table(df[[r]], df[[c]]))$cramer
}
}
return(m)
}
cor_matrix <- calculate_cramer(empty_m ,data)
corrplot(cor_matrix)
答案 1 :(得分:1)
以Alexey Knorre的示例为基础:
xAxis: {
data: xAxisData,
axisLabel: {
formatter: function (value) {
return "{<a href='https://www.google.com'>" + value + "</a>}";
}
}
答案 2 :(得分:0)
library(vcd)
library(corrplot)
我建议corrplot(PairApply(df, cramerV),diag = F,is.corr = F)
将色标从-1,1(is.corr = T)更改为0.1(is.corr = F)。