异常:Error: Aesthetics must either be length one, or the same length as the dataProblems:AData

今天遇到一个异常,代码如下:

set.seed(12345)
require(ggplot2)
AData <- data.frame(Glabel=LETTERS[1:7], A=rnorm(7, mean = 0, sd = 1), B=rnorm(7, mean = 0, sd = 1))
i <- 2
j <- 3
p <- ggplot(data=AData, aes(AData[, i], AData[, j])) + geom_point() + theme_bw()
p # all right p <- p + geom_text(aes(data=AData, label=Glabel), size=3, vjust=1.25, colour="black")
p # Error: Aesthetics must either be length one, or the same length as the dataProblems:AData

下面的代码就ok:
example <- data.frame(r=c(5,4,3),theta=c(0.9,1.1,0.6))
myplot <- ggplot(example, aes(r, theta)) + geom_point(size=3.5) +
geom_text(aes(label=rownames(example)), size=4.4, hjust=0.5, vjust=-1)

根据异常信息,应该是说Glabel与AData的长度不同,但具体什么原因不了解。

stackover上面的解释是:对于0.9.0版本的ggplot2有这个问题,0.9.1版本中已经解决。(http://stackoverflow.com/questions/10628847/geom-boxplot-with-precomputed-values)

利用installed.packages()命令,看到我的ggplot2的版本是1.0.1,应该没有问题,奇怪。

stackoverflow上另外一个类似的帖子是:http://stackoverflow.com/questions/20057452/aesthetics-must-either-be-length-one-or-the-same-length-as-the-dataproblems

但是与我遇到的问题不大一样,暂无解.
 
posted @ 2015-10-28 16:54  超仔  阅读(3535)  评论(1编辑  收藏  举报