2013-09-23 4 views
0

Привет всем, особенно всем программистам R, мне нужна ваша помощь. Я пытаюсь сделать разброс с помощью std bar! [Введите описание изображения здесь] [1], но я не мог этого сделать. До сих пор я могу сделать разброс с метками и 45-градусным углом (мне тоже нужно). Если кто-нибудь поможет мне или добавит код в мой существующий, который будет очень полезен для меня.разброс участка с std-ошибкой

Мой код

Dataset <- read.table("AvgDis.csv",header=TRUE, sep="", 
         na.strings="NA", dec=".", 
         strip.white=TRUE) 

plot(Dataset$True,Dataset$False, 
    xlim=c(0,100), ylim=c(0,100), 
    main="Average % of disorder", 
    xlab="True", ylab="False", 
    pch=19,col= "blue") 

text(Dataset$True,Dataset$False, 
    labels=Dataset$MotifId, 
    cex= 0.7, pos=3) 

abline(0,1) 

данных, я использую:

False  True  MotifId 
54.1666675 33.33333 aps 
35.2040825 48.57143 dbox 
44.3055575 94.44444 ken 
70.37037  60   mdm2 
1.6666675  0   met 
72.222225 100   ptk 
46.9212975 68.51852 scftrcp1 
55.5555575 70.83333 siah 
+0

Std ошибка чего? – dayne

+0

Вы пытались ввести изображение, но каким-то образом его удалили. Может быть отклонение std для среднего (x) или среднего (y) или CI для коэффициента корреляции или линии регрессии, но вы не сказали, что. –

ответ

2

Сначала я собираюсь создать поддельный кадр данных, так как вы опубликовали свои данные делает его неудобным для копирования и вставки.

# Make a fake dataset since it is inconvenient to copy & paste the data you show 
set.seed(13) 
False <- rnorm(10, mean=50, sd=10) 
True <- rnorm(10, mean=50, sd=10) 
MotifId <- letters[1:10] 
Dataset <- data.frame(False, True, MotifId) 

Вам нужно будет как-то рассчитать стандартную ошибку. Давайте просто представим, что все точки данных имеют ту же стандартную ошибку:

Dataset$stderr <- 7 # This will recycle to the number of rows of Dataset 

Теперь создать свой сюжет и добавить полосы ошибок в arrow с, как это было предложено here

plot(Dataset$True,Dataset$False, 
    xlim=c(0,100), ylim=c(0,100), 
    main="Average % of disorder", 
    xlab="True", ylab="False", 
    pch=19,col= "blue") 
text(Dataset$True,Dataset$False, 
    labels=Dataset$MotifId, 
    cex= 0.7, pos=3) 
abline(0,1) 
arrows(x0=Dataset$True, y0=Dataset$False - Dataset$stderr, 
     x1=Dataset$True, y1=Dataset$False + Dataset$stderr, 
     angle=90, code=3, length=0.05) 

enter image description here

В в долгосрочной перспективе я думаю, что желательно использовать пакет визуализации данных ggplot2

require(ggplot2) 
# Build the plot from layers 
p <- ggplot(Dataset, aes(x=True, y=False, label=MotifId)) + 
     geom_point() + 
     geom_text(, vjust=1, hjust=1) + 
     geom_errorbar(aes(ymin=False-stderr, ymax=False+stderr), width=1) + 
     geom_abline(slope=1, intercept=0) + 
     xlim(c(0, 100)) + 
     ylim(c(0, 100)) + 
     ggtitle("Average % of disorder") + 
     theme_bw() 
print(p) 

enter image description here

+0

Спасибо за вашу помощь :) – Paul85

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