2017-02-04 21 views
0

У меня есть следующий набор данных:Plotting бар Ошибка в R

  conf variable  value 
1   C1  T1  0.6578166 
2   C2  T1  0.6729989 
3   C3  T1  0.6629129 
4   C4  T1  0.6602419 
5   C5  T1  0.6951054 
6   C1  T2  0.6764889 
7   C2  T2  0.7008580 
8   C3  T2  0.6921985 
9   C4  T2  0.6868215 
10   C5  T2  0.7104877 
11   C1  T3  0.6834098 
12   C2  T3  0.7120974 
13   C3  T3  0.7045760 
14   C4  T3  0.6986261 
15   C5  T3  0.7180474 
16   C1  T4  0.6875082 
17   C2  T4  0.7185950 
18   C3  T4  0.7122448 
19   C4  T4  0.7051376 
20   C5  T4  0.7229975 
21   C1  T5  0.6902167 
22   C2  T5  0.7228775 
23   C3  T5  0.7167748 
24   C4  T5  0.7093825 
25   C5  T5  0.7261777 
.... 

Я хочу, чтобы построить эти данные в виде линии участка с погрешностями. Для этого я использовал функцию summarySE, которая определена в этом website. Я хочу, чтобы график был линейным графиком, где ось x представляет variable, а ось y представляет value и группу conf. Строка ошибки должна быть представлена ​​каждой переменной с учетом значений от T1 до точки текущей переменной. Например, считанные значения для строки ошибок в T6 должны быть значениями от T1 до T6.

Исходя из этого, я назвал summarySE функции, как:

m2 <- summarySE(m, measurevar = "value", groupvars = c("variable","conf") , na.rm=TRUE) 

Результаты, которые я получил являются:

 variable conf N value  sd se ci 
1 T1   C1 1 0.6578166 NA NA NA 
2 T1   C2 1 0.6729989 NA NA NA 
3 T1   C3 1 0.6951054 NA NA NA 
4 T1   C4 1 0.6629129 NA NA NA 
5 T1   C5 1 0.6602419 NA NA NA 
6 T2   C1 1 0.6764889 NA NA NA 
...... 

Я также попробовал следующее:

m2 <- summarySE(m, measurevar = "value", groupvars = c("conf") , na.rm=TRUE) 

I получил следующие результаты:

   conf N  value   sd   se   ci 
1    C1 60 0.7038542 0.009609437 0.001240573 0.002482381 
2    C2 60 0.7395447 0.012869318 0.001661422 0.003324497 
3    C3 60 0.7418830 0.010397609 0.001342326 0.002685987 
4    C4 60 0.7365407 0.014438260 0.001863971 0.003729798 
5    C5 60 0.7301954 0.014389284 0.001857649 0.003717146 

Но это не работает, чтобы построить панель ошибок с каждой переменной.

Чтобы нарисовать сюжет:

coverage_plot <- ggplot(m2, aes(x=m$variable, y=m$value, group=conf, color=conf)) + 
     geom_errorbar(aes(ymin=value-ci, ymax=value+ci), width=0.1, position=pd) + 
     geom_line(position=pd) + geom_point(position=pd) + 
     scale_x_discrete(labels = c(1:60)) 

Когда я запускаю код, я получаю следующее сообщение об ошибке:

Error: Aesthetics must be either length 1 or the same as the data (5): ymin, ymax, x, y, group, colour 

Может кто-то помочь мне решить эту проблему?

+0

Нет ничего плохого в вашем коде. Можете ли вы представить воспроизводимый пример? – Koundy

+0

@koundy извините. Вы имеете в виду предоставление сюжета? – Nasser

+0

Да, попробуйте построить с некоторыми встроенными наборами данных, такими как данные диафрагмы, и покажите здесь сюжет. – Koundy

ответ

-1

Try удаления $ в aes как этот

coverage_plot <- ggplot(m2, aes(x=variable, y=value, group=conf, color=conf)) + 
     geom_errorbar(aes(ymin=value-ci, ymax=value+ci), width=0.1, position=pd) + 
     geom_line(position=pd) + geom_point(position=pd) + 
     scale_x_discrete(labels = c(1:60)) 

Также нет столбец с именем переменной в ваших данных. Убедитесь, что вы написали правильное имя