我在两个向量之间运行了相关性分析,我需要绘制-log10(pvalue)...当相关性运行时,我得到以下结果:
data <- read.table("test-data.txt")
a <- data[,1]
b <- data[,2]
test <- cor.test(a, b)
test
Pearson's product-moment correlation
data: a and b
t = 8.3704, df = 10352, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.06282908 0.10109436
sample estimates:
cor
0.08199194
但当我将p值提取为test$p.value
时,它出现为零..这意味着当我计算-log10(pv)时,我得到Inf
作为结果......我无法策划。
然而,-log(2.2e-16, base=10)
是15.65758
,这就是我想要的
所以我的问题是:你将如何维持指数?
另外,这是我正在运行的一系列81个相关的样本,必须一起绘制,我对81个中的30个有同样的问题
答案 0 :(得分:1)
你的p值不是2.2e-16,低于那个。这意味着它的计算结果为零。您可以跳过零,或将零设置为任意小的2.2e-16。
ifelse(pv==0,-log(2.2e-16,base=10),-log(pv,base=10))
当然,81次中有30次你不知道p值是多少,只是它非常小。