我的数据框:
Variable <- sample(-9:10)
Levels<-rep(c("N", "A", "L","B", "O", "C", "U", "R", "E", "Y" ),times=2)
ID<-rep(c("WT", "KO"), each=10)
df <- data.frame(Variable, Levels, ID)
我运行ggplot,我明白了:
如果我有这两行
df$ID=factor(df$ID, c("WT","KO"))
df$Levels=factor(df$Levels, c("N", "A", "L","B", "O", "C", "U", "R", "E", "Y" ))
我可以得到这个
但必须有办法在不手动输入等级
的情况下执行此操作答案 0 :(得分:3)
只需使用正确的因子创建初始数据框,即
df = data.frame(Variable, factor(Levels, levels=unique(Levels)), ID)
unique
功能有助于维护正确的顺序。或者,
levels = c("N", "A", "L","B", "O", "C", "U", "R", "E", "Y" )
Levels = factor(rep(levels, each=2), levels)