2014-12-01 54 views
0

我是R的新手。我制作了我的数据盒状图,但是目前R按字母顺序排列因素。如何维护我的数据的原始顺序?这是我的代码:如何使用原始数据顺序(不按字母顺序)生成箱图?

boxplot(MS~Code,data=Input) 

我有40个变量,我希望boxplot与原始数据帧列出他们相同的顺序。我读过,我可能能够设置sort.names = FALSE来维持原始顺序,我不明白代码片段的位置。

有没有办法在输入到boxplot之前重新定义我的输入?

谢谢。

+0

确实[这](http://stackoverflow.com/questions/4260698/r-ordering-in-boxplot)帮助? – jlhoward 2014-12-01 23:29:48

+0

我忘了什么? – jlhoward 2014-12-01 23:52:30

回答

1

因素,因为你在第3行

data(InsectSprays) 
data <- InsectSprays 
data$spray <- factor(data$spray, c("B", "C", "D", "E", "F", "G", "A")) 
boxplot(count ~ spray, data = data, col = "lightgray") 

以上答案是那里的方式98%希望再次变量。

set.seed(1) 
# original order is E - A 
Input <- data.frame(Code=rep(rev(LETTERS[1:5]),each=5), 
        MS=rnorm(25,sample(1:5,5))) 
boxplot(MS~Code,data=Input) # plots alphabetically 

Input$Code <- with(Input,factor(Code,levels=unique(Code))) 
boxplot(MS~Code,data=Input) # plots in original order 

+0

必须有一个更简单的方法?我有40个因素,我不想试图找出第一个来。当我把它们放到R中时,它们已经处于有序状态。 – val 2014-12-01 23:39:13

+1

使用'data $ spray < - with(data,factor(spray,levels = unique(spray))' – jlhoward 2014-12-02 00:01:08