2015-07-16 1 views
1

Я хочу поместить pvalues ​​поверх barplot, но представить их звездочкой (* является pval = .05 to .01, ** звездочкой между .009 до .001 и *** меньше, чем .001. Предположим, что у меня есть такие случайные данные, которые называются баллы, а также штрих-код, и они проводят тестирование, сравнивая 100 - 85,88 и 82. 30 и 76 - это внутренние элементы управления (нет тестового теста). Я извлек pvalues ​​и сохранен в пустом векторе, представленном от pval.Как я могу преобразовать числа pval и поместить над соответствующими столбцами? Я просто потерял на этом. Может быть, какой-то цикл и текст? Я хочу что-то, где 100 является контролем, 85 - 82 должны иметь pval над ними и 30 и 76 ничего не по ним.Barplot pvalues ​​по определенным барам в R

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

ответ

2

Вы можете нам помочь e возвращаемое значение от 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

+0

@ NONGKRONG, это то, что я искал. Извините за то, что раньше не продвигалось, нужно было подогнать это и немного изменить его, чтобы соответствовать моей очень сложной проблеме. Однако, благодаря вам, это привело меня к моему окончательному ответу. Огромное спасибо. – user3919708

 Смежные вопросы

  • Нет связанных вопросов^_^