作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 R 中使用 corrplot
包中的 corrplot()
,并且偶然发现了两个问题。为简单起见,我将使用与 corrplot 的帮助/介绍页面相同的符号。
我想在所有单元格中记下我的 p 值或测试的显着性(或两者!),而不仅仅是不显着的单元格。
我只想在上三角形中刻上这些铭文。
首先要解决 2),我已经能够使用它,但如果感觉有点 hacky:
corrplot(M, type="upper", p.mat = res1[[1]], insig="p-value", tl.pos="n")
corrplot(M, type="lower", add=T, tl.pos="d", cl.pos="n"))
但是我还没能弄清楚第一点。任何建议都会有帮助!
最佳答案
快速方法是将 sig.level=0
添加到第一个图,以便显示所有 p 值(实际上,由于数值精度,某些 p 值将恰好为零,因此例如,您可能需要将其设置为 sig.level=-0.1
)
require(corrplot)
# Data
M <- mtcars[3:7]
pval <- psych::corr.test(M, adjust="none")$p
# Corrplot
corrplot(cor(M), type="upper", p.mat=pval, insig="p-value",
tl.pos="n", sig.level=0)
corrplot(cor(M), type="lower", add=T, tl.pos="d", cl.pos="n")
这给出
但是,如果您想向 p 值添加更多详细信息,后格式化绘图并使用 text
调用添加它们可能会更容易
# Plot
corrplot(cor(M), type="upper", tl.pos="n")
# Get positions & plot formatted p-values
pos <- expand.grid(1:ncol(pval), ncol(pval):1)
text(pos, p_format(pval))
# lower tri
corrplot(cor(M), type="lower", add=T, tl.pos="d", cl.pos="n")
给予
格式化函数
p_format <- function(x, ndp=3)
{
out <- format(round(as.numeric(x),ndp),ns=ndp,scientific=F,just="none")
ifelse(out=="0.000","<0.0001", out)
}
我的观点(fwiw)是,这向情节添加了太多信息
关于在 corrplot() 中报告显着性水平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29709204/
我是一名优秀的程序员,十分优秀!