我的数据集包含选举投票数据,数值为0-10。 我有30列这些值,我想比较每一列 所有其他列,以创建相关矩阵。 ] 但我不断收到以下错误代码:
Error in columnlist[i, j] <- cor(feeling_therm[, i], feeling_therm[, j], :
incorrect number of subscripts on matrix
关于如何做到这一点的任何建议?我还是习惯了R的语法。
答案 0 :(得分:0)
只需使用cor(election)
即可。它应该创建相关矩阵。
答案 1 :(得分:0)
正如Nathan Werth所说,cor(election)
工作正常。但是,如果您坚持使用for循环,则应将矩阵初始化为矩阵(包括正确的尺寸),而不是列表:
election <- replicate(5, rnorm(n = 100))
election <- as.data.frame(election)
cor_matrix <- matrix(nrow = ncol(election), ncol = ncol(election))
for (i in 1:ncol(election)) {
for (j in 1:ncol(election)) {
cor_matrix[i,j] <- cor(election[,i], election[,j], use = "complete")
}
}
答案 2 :(得分:0)
如果您的目标是将值存储在列表中,则可以选择以下内容。
n_col <- ncol(election)
electionlist <- as.list(data.frame( matrix(NA, n_col, n_col)))
for (i in 1 : n_col) {
for (j in 1 : n_col) {
electionlist[[c(i, j)]] <- cor(election[,i],
election[,j], use = "complete")
}
}