Barplot在R中的特定条形图上显示pvalues

时间:2015-07-16 19:38:36

标签: r plot p-value

我想把pvalues放在barplot上,但是用星号代表它们(*是pval = .05到.01,**星号在.009到.001之间,***小于.001。 让我们假设我有这个随机数据,称为分数和条形图,并测试比较100到85,88,而82. 30和76是内部控制(没有测试测试)。我提取了pvalues并存储在由pval表示的空向量中。如何转换pval数字并放置相应的条形图?我只是输了这个。也许有些循环和文字?我想要100控制的东西,85-82应该有pval超过它们30和76没有任何东西。

scores<- c(100, 85, 88, 82, 30, 76);
barplot(scores);
pvalues;
[1] 3.826535e-05 1.038895e-01 4.257805e-05

1 个答案:

答案 0 :(得分:2)

您可以使用barplot中返回的值来获取条形图的x值,然后使用text来放置星号。

## Sample Data
scores<- c(100, 85, 88, 82, 30, 76)
pvalues <- c(NA, 3.826535e-05, 1.038895e-01, 4.257805e-05, NA, NA)

## Get asterisks
barText <- ifelse(pvalues < 1e-3, "***", ifelse(pvalues < 1e-2, "**", ifelse(pvalues < 5e-2, "*", "")))
barText <- ifelse(is.na(barText), "", barText)

## Make plot
breaks <- barplot(scores)
text(breaks, scores+2, labels=barText)

enter image description here