首页 文章

使用ggplot2制作箱图时出错

提问于
浏览
0

我是使用ggplot2和R的新手 . 当我运行这个脚本时

var<-schz.[1,]
values<-schz.[,-1]
ggplot(data=schz., aes(var, values)) + geom_boxplot()

我收到此错误消息:

不知道如何自动选择data.frame类型的对象的比例 . 违约持续 . 错误:美学必须是长度1或与数据(80)相同:x,y

数据集如下:[https://drive.google.com/file/d/0B7tO-O0lx79FZERvcHJUSmxNSTQ/view?usp=sharing]

有人可以告诉我什么是错的?我理解它与ggplot2函数中x和y的定义有关,但我无法解决它!

2 回答

  • 0

    您需要将data.frame更改为长格式,例如与 dplyr::gather

    schz. <- schz. %>% gather(type, value, -SITE)
    ggplot(schz., aes(x=SITE, y=value, colour=type)) + geom_boxplot()
    

    enter image description here

  • 1

    您需要将数据重新整形为长格式而不是宽格式 . 我使用reshape2包中的融合功能,但您也可以使用tidyr包中的聚集 .

    尝试:

    library(reshape2)
     ggplot(data=melt(schz.), aes(variable, value)) + geom_boxplot()
    

相关问题