错误:美学必须是长度为1或与dataProblems相同的长度:x,y

时间:2015-04-16 17:37:12

标签: r

我无法相信为什么这不起作用!我有以下数据和代码:

X=
c("13.13", "13.13", "13.23", "13.23", "12.75", "12.75", "12.75", "13.14", "12.94", "12.94", "12.94", "12.94", "13.09", "13.09", "12.97", "12.81", "12.81", "12.48", "12.48", "12.48", "12.53", "12.38", "12.38", "12.38", "13.3",  "12.52", "12.39", "12.42", "12.42", "11.89", "11.98", "11.56", "12.2",  "12.53", "12.58", "12.91", "12.25", "12.21", "12.65", "12.15")

Y=
c("13.66", "13.66", "13.74", "13.74", "13.12", "13.12", "13.12", "13.43", "13.47", "13.47", "13.47", "13.47", "13.59", "13.59", "13.44", "13.27", "13.27", "12.89", "12.89", "12.89", "13.05", "12.83", "12.83", "12.83", "13.92", "13.09", "12.86", "12.92", "12.92", "12.43", "12.48", "11.93", "12.58", "12.94", "13.04", "13.16", "12.64", "12.65", "13.04", "12.56")

grades=
c("B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "A", "A", "A", "A", "A", "A", "A", "A", "A", "C",  "C",  "C", "C", "A", "A", "B", "C", "A", "A", "B")

dat<-data.frame(x=as.numeric(X),y=as.numeric(Y))
ggplot(dat, aes(x,y,colour=grades))+ geom_point()

我收到此错误:

Error: Aesthetics must either be length one, or the same length as the dataProblems:x, y

1 个答案:

答案 0 :(得分:0)

您在data.frame中忘记了grades

X=
c("13.13", "13.13", "13.23", "13.23", "12.75", "12.75", "12.75", "13.14", "12.94", "12.94", "12.94", "12.94", "13.09", "13.09", "12.97", "12.81", "12.81", "12.48", "12.48", "12.48", "12.53", "12.38", "12.38", "12.38", "13.3",  "12.52", "12.39", "12.42", "12.42", "11.89", "11.98", "11.56", "12.2",  "12.53", "12.58", "12.91", "12.25", "12.21", "12.65", "12.15")

Y=
c("13.66", "13.66", "13.74", "13.74", "13.12", "13.12", "13.12", "13.43", "13.47", "13.47", "13.47", "13.47", "13.59", "13.59", "13.44", "13.27", "13.27", "12.89", "12.89", "12.89", "13.05", "12.83", "12.83", "12.83", "13.92", "13.09", "12.86", "12.92", "12.92", "12.43", "12.48", "11.93", "12.58", "12.94", "13.04", "13.16", "12.64", "12.65", "13.04", "12.56")

grades=
c("B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "A", "A", "A", "A", "A", "A", "A", "A", "A", "C",  "C",  "C", "C", "A", "A", "B", "C", "A", "A", "B")

dat<-data.frame(x=as.numeric(X),y=as.numeric(Y))

dat$grades <- grades

ggplot(dat, aes(x,y,colour=grades))+ geom_point()