简体   繁体   English

具有置信区间的交互图

[英]Interaction plot with confidence intervals

I want to draw an interaction plot with confidence intervals for an assignement that is due tomorrow. 我想绘制一个带有置信区间的交互图,用于明天到期的分配。 This is my dataset: 这是我的数据集:

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) 

I have been trying to do something like what is done at the bottom here with the ToothGrowth data , but I am obviously doing something wrong as I only get error messages. 我一直在尝试使用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 message: 错误信息:

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

Obviously, I have no idea what I'm doing, so can anyone please help me correct my code? 显然,我不知道我在做什么,所以有人可以帮我纠正我的代码吗?

When you create the object df with the first aggregate command, the column including the dependent variable is no longer called total_migration but x . 使用第一个aggregate命令创建对象df时,包含因变量的列不再称为total_migration而是x

Hence, your code works if you replace total_migration with x in the ggplot command: 因此,如果在ggplot命令中用x替换total_migration ,则代码可以正常工作:

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))

在此输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM