我是使用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的定义有关,但我无法解决它!
答案 0 :(得分:1)
您需要将data.frame更改为长格式,例如与dplyr::gather
schz. <- schz. %>% gather(type, value, -SITE)
ggplot(schz., aes(x=SITE, y=value, colour=type)) + geom_boxplot()
答案 1 :(得分:0)
您需要将数据重新整形为长格式而不是宽格式。我使用reshape2包中的融合功能,但您也可以使用tidyr包中的聚合。
尝试:
library(reshape2)
ggplot(data=melt(schz.), aes(variable, value)) + geom_boxplot()