为什么我的变量不是按数字排序,而是按字母顺序打印在ggplot2/R中

为什么我的变量不是按数字排序,而是按字母顺序打印在ggplot2/R中,r,plot,ggplot2,R,Plot,Ggplot2,我已尝试重新排列条形图,使其以与数据表相同的数字顺序显示,但该图按字母顺序打印。我试过了,但似乎不起作用 #Load data d <- structure(list(author = structure(c(1L, 2L, 4L, 3L, 5L, 6L, 8L, 11L, 13L, 12L, 10L, 9L, 7L), .Label = c("Bahr et al", "Fuller et al", "Garbossa et al", "Gokhale et al", "Iuchi et

我已尝试重新排列条形图,使其以与数据表相同的数字顺序显示,但该图按字母顺序打印。我试过了,但似乎不起作用

#Load data
d <- structure(list(author = structure(c(1L, 2L, 4L, 3L, 5L, 6L, 8L, 11L, 13L, 12L, 10L, 9L, 7L), .Label = c("Bahr et al", "Fuller et al", "Garbossa et al", "Gokhale et al", "Iuchi et al", "Lee et al", "Lee Y et all", "Merrel et al", "Newton et al", "Rossetti et al", "Usery et al", "Wychowski et al", "Zachenhofer et al"), class = "factor"), nAE = c(-22L, -34L, -158L, -90L, -70L, -41L, -48L, -32L, -73L, -23L, -25L, -13L, -46L), AE = c(3L, 1L, 7L, 1L, 3L, 10L, 3L, 6L, 3L, 5L, 4L, 6L, 5L), SAE = c(0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 2L, 0L, 0L)), .Names = c("author", "nAE", "AE", "SAE"), class = "data.frame", row.names = c(NA, -13L))
#加载数据

d当您将
用作.factor()
时,级别将按字母顺序确定。为了防止出现这种情况并选择您自己的排序,您可以按如下方式指定因子级别:

d$author=factor(d$author,levels=d$author)


希望这有帮助

谢谢大家!!哦,另一个简短的问题。你知道如何切换顶部图例中蓝色的“无不良反应”和橙色的“严重不良反应”文本吗?:)但是与标题相同的颜色应该仍然是sameNo的问题。我认为可以通过切换
cols
向量中的第一个和第二个值来实现这一点。
d$author=factor(d$author,levels=d$author)