График взаимодействия с доверительными интервалами

Я хочу нарисовать график взаимодействия с доверительными интервалами для задания, которое должно быть выполнено завтра. Это мой набор данных:

Snail0

    water   lightness   total_migration
    control dark    9.5
    control dark    20
    control dark    22
    control dark    24
    control dark    10
    control dark    18
    control dark    19
    control dark    19.5
    control dark    23
    control dark    2
    control dark    10.5
    control dark    22.5
    control dark    26
    control dark    32
    control dark    2
    control dark    12.5
    control dark    13.5
    control dark    16.5
    control dark    19
    control dark    20
    control dark    21
    control dark    22
    control dark    24
    control dark    25
    control light   11
    control light   20.5
    control light   22.5
    control light   24
    control light   21
    control light   23
    control light   23.5
    control light   28
    control light   30
    control light   18.5
    control light   19.5
    control light   19.5
    control light   23.5
    control light   24
    control light   2
    control light   20
    control light   23
    control light   28.5
    control light   29
    control light   16
    control light   17.5
    control light   26.5
    control light   28.1
    control light   30.5
    crab    light   6
    crab    light   14
    crab    light   15
    crab    light   17
    crab    light   19
    crab    light   7
    crab    light   14
    crab    light   17
    crab    light   22
    crab    light   26
    crab    light   4.5
    crab    light   10
    crab    light   11
    crab    light   21
    crab    light   24
    crab    light   14
    crab    light   20
    crab    light   22.5
    crab    light   23
    crab    light   14
    crab    light   16
    crab    light   18.5
    crab    light   22
    crab    light   23
    crab    dark    14
    crab    dark    19
    crab    dark    20
    crab    dark    23
    crab    dark    25
    crab    dark    9
    crab    dark    18
    crab    dark    18
    crab    dark    20
    crab    dark    21
    crab    dark    15
    crab    dark    15
    crab    dark    15
    crab    dark    19
    crab    dark    23
    crab    dark    12
    crab    dark    14.5
    crab    dark    21
    crab    dark    21.5
    crab    dark    22
    crab    dark    14.5
    crab    dark    16
    crab    dark    19
    crab    dark    20
    crab    dark    22.5
    snail   dark    6
    snail   dark    15
    snail   dark    20
    snail   dark    22
    snail   dark    15
    snail   dark    15
    snail   dark    16
    snail   dark    17
    snail   dark    21
    snail   dark    15
    snail   dark    20
    snail   dark    15
    snail   dark    16
    snail   dark    19.5
    snail   dark    23
    snail   dark    24
    snail   dark    4
    snail   dark    18.5
    snail   dark    20
    snail   dark    24
    snail   dark    25
    snail   light   13
    snail   light   13
    snail   light   13
    snail   light   18
    snail   light   15
    snail   light   16
    snail   light   17
    snail   light   17
    snail   light   19
    snail   light   14
    snail   light   14
    snail   light   19
    snail   light   7
    snail   light   13
    snail   light   13
    snail   light   13
    snail   light   16
    snail   light   3
    snail   light   9
    snail   light   15
    snail   light   22
    snail   light   23

interaction.plot(Snail0$water,Snail0$lightness,Snail0$total_migration) 

Я пытался сделать что-то вроде того, что сделано здесь внизу, с помощью данные ToothGrowth, но я явно делаю что-то не так, так как получаю только сообщения об ошибках.

Snail0$water <- factor(Snail0$water)


df<-with(Snail0, aggregate(total_migration, list(lightness=lightness, water=water), mean))


df$se<-with(Snail0, aggregate(total_migration, list(lightness=lightness, water=water), function(x) sd(x)/sqrt(10)))[,3]


gp<-ggplot(df, aes(x=water, y=total_migration, colour=lightness, group=lightness))

gp+geom_line(aes(linetype=lightness)) + geom_point(aes(shape=lightness)) + geom_errorbar(aes(ymax=x+se, ymin=x-se))

Сообщение об ошибке:

Error: Aesthetics must either be length one, or the same length as the dataProblems:lightness, water, lightness, lightness

Очевидно, я понятия не имею, что делаю, так может ли кто-нибудь помочь мне исправить мой код?


person SunRoad    schedule 19.11.2012    source источник
comment
См. stats.stackexchange.com/questions/9477/   -  person Stéphane Laurent    schedule 22.02.2013


Ответы (1)


Когда вы создаете объект df с помощью первой aggregate команды, столбец, включающий зависимую переменную, больше не называется total_migration, а x.

Следовательно, ваш код работает, если вы замените total_migration на x в команде ggplot:

gp <- ggplot(df, aes(x=water, y=x, colour=lightness, group=lightness))
gp + geom_line(aes(linetype=lightness)) + 
     geom_point(aes(shape=lightness)) + 
     geom_errorbar(aes(ymax=x+se, ymin=x-se))

введите описание изображения здесь

person Sven Hohenstein    schedule 19.11.2012
comment
Большое спасибо! Вы сделали мой день. :) - person SunRoad; 19.11.2012