我正在尝试在R中创建一个情节,但它非常简单,但这已经困扰了我好几天,我无法让它发挥作用。当我使用图表R按字母顺序对y轴进行排序时,如何指定所需的顺序。使用以下示例:
x = c("High ind.", "High sp.", "Mid ind.", "Mid sp.", "Low ind.", "Low sp.")
y = c(4.6, 2.3, 5.5, 2.2, 12.6, 3)
sd = c(3.2, 1.2, 4.4, 1.5, 5.9, 1.5)
qplot(x,y, xlab="Water level",
ylab="mean number of ind. and sp. with standard deviations") +
geom_errorbar(aes(x=x, ymin=y-sd, ymax=y+sd, width=0.2), color="blue")
我希望y轴上的顺序如下:高,中,低。但是R会自动按字母顺序排列。我已经尝试了很多方法来解决这个问题,但是它们都针对大型更复杂的数据集,并且不能使用这么简单的数据集。必须有一个简单的方法来解决这个问题..
答案 0 :(得分:0)
使用因子并手动指定级别顺序:
lv <- c("High ind.", "High sp.", "Mid ind.", "Mid sp.", "Low ind.", "Low sp.")
x <- factor(lv,levels = lv)
y = c(4.6, 2.3, 5.5, 2.2, 12.6, 3)
sd = c(3.2, 1.2, 4.4, 1.5, 5.9, 1.5)
dat<-data.frame(x, y, sd)
qplot(x,y, data=dat, xlab="Water level", ylab="mean number of ind. and sp. with standard
deviations")+geom_errorbar(aes(x=x, ymin=y-sd, ymax=y+sd, width=0.2), color="blue")