cor.test.default(x = mat[ i], y = mat[ j], ...) 中的错误:有限观察不足
Error in cor.test.default(x = mat[, i], y = mat[, j], ...) : not enough finite observations
我查看了 Google 和 Whosebug 以找到解决我的问题的方法。我现在已经尝试了一些东西,但似乎没有任何效果。
我正在尝试创建语言特征的相关箱线图。对于每个功能(总共 36 个),在 Excel 中有一个表示说话者使用它的时间,一个 0 表示说话者没有使用它的时间。
有 41 位演讲者,none 他们使用了所有 36 个特征,尽管最低分数是 8。我想分析我的数据以查看哪些特征相关,从而找出哪些特征可以预测使用其他功能。
我一直在 R 中使用 corrplot
。这是我一直在使用的命令:
cor_mat <- df_analysis %>%
replace(., is.na(.), 0) %>%
cor(method = "spearman")
cor_residuals <- cor.mtest(cor_mat, conf.level = .95)
但是,我收到一条错误消息:
Error in cor.test.default(x = mat[, i], y = mat[, j], ...) : not enough finite observations
有谁知道为什么以及如何纠正它?事实上,我真正需要知道的是问题所在,而且我可能可以从那里自己弄清楚。如果您也有解决方案,我将不胜感激!
非常感谢!
您可以像这样理想地定义corrplot:
df_cor <- cor(df_analysis)
corrplot(df_cor, type = "full", order = "hclust",
outline.color = "white", hc.method = "ward",
pch.cex = .5, show.diag = TRUE,
p.mat = cor_residuals$p, insig = "blank", sig.level = .01,
addrect = 20, tl.srt = 36, tl.cex = .8, tl.col = "black",
col = rev(lacroix_palette("PassionFruit", 8, "continuous")))
您的数据集中有几列没有变化;因此这些变量的相关性都是 NA
,这把事情搞砸了。
which(apply(df_analysis,2,sd)==0)
## [1] a' c[h]lach bheag [3] a' c[h]loich bhig [14] a' b[h]ord bheag
## 1 3 14
## [26] nan su[ ]l [27] nan sul[ ]
## 26 27
我通过设置 options(error=recover)
和 运行 查看错误发生的位置来解决这个问题(当错误发生时,此设置会让您进入 browser/debug 模式)。更直接地说,我 应该 已经完成 corrplot(cor_mat)
,这有助于为 NA 值打上问号 ...
image()
或 heatmap(as.matrix(df_analysis),Rowv=NA,Colv=NA, scale="none", margins=c(10,8))
有助于查看您的原始数据。
我查看了 Google 和 Whosebug 以找到解决我的问题的方法。我现在已经尝试了一些东西,但似乎没有任何效果。
我正在尝试创建语言特征的相关箱线图。对于每个功能(总共 36 个),在 Excel 中有一个表示说话者使用它的时间,一个 0 表示说话者没有使用它的时间。
有 41 位演讲者,none 他们使用了所有 36 个特征,尽管最低分数是 8。我想分析我的数据以查看哪些特征相关,从而找出哪些特征可以预测使用其他功能。
我一直在 R 中使用 corrplot
。这是我一直在使用的命令:
cor_mat <- df_analysis %>%
replace(., is.na(.), 0) %>%
cor(method = "spearman")
cor_residuals <- cor.mtest(cor_mat, conf.level = .95)
但是,我收到一条错误消息:
Error in cor.test.default(x = mat[, i], y = mat[, j], ...) : not enough finite observations
有谁知道为什么以及如何纠正它?事实上,我真正需要知道的是问题所在,而且我可能可以从那里自己弄清楚。如果您也有解决方案,我将不胜感激!
非常感谢!
您可以像这样理想地定义corrplot:
df_cor <- cor(df_analysis)
corrplot(df_cor, type = "full", order = "hclust",
outline.color = "white", hc.method = "ward",
pch.cex = .5, show.diag = TRUE,
p.mat = cor_residuals$p, insig = "blank", sig.level = .01,
addrect = 20, tl.srt = 36, tl.cex = .8, tl.col = "black",
col = rev(lacroix_palette("PassionFruit", 8, "continuous")))
您的数据集中有几列没有变化;因此这些变量的相关性都是 NA
,这把事情搞砸了。
which(apply(df_analysis,2,sd)==0)
## [1] a' c[h]lach bheag [3] a' c[h]loich bhig [14] a' b[h]ord bheag
## 1 3 14
## [26] nan su[ ]l [27] nan sul[ ]
## 26 27
我通过设置 options(error=recover)
和 运行 查看错误发生的位置来解决这个问题(当错误发生时,此设置会让您进入 browser/debug 模式)。更直接地说,我 应该 已经完成 corrplot(cor_mat)
,这有助于为 NA 值打上问号 ...
image()
或 heatmap(as.matrix(df_analysis),Rowv=NA,Colv=NA, scale="none", margins=c(10,8))
有助于查看您的原始数据。