我有一个30列的数据框,编号从0到29。
我在这个数据框上调用堆栈来绘制一系列箱图,每个列号对应一个。 但是不是在序列0,1,2,3中得到箱形图,而是打印0,1,10,11..19,2,7,8,9。 换句话说,我希望箱图出现在列的相同序列中,这就是 很自然。
我正在使用boxplot(values~column,data = mydata)。 我不想通过更改列名来解决这个问题。 还有其他解决方案吗?
谢谢!
答案 0 :(得分:2)
stack
将列名存储为因子,
默认顺序是字母。
你可以修改订单一旦被篡改,
或者只使用melt
代替stack
:
列顺序将被保留。
# Sample data
d <- matrix( rnorm(300), nc=30 )
d <- as.data.frame( d )
colnames(d) <- as.character(0:29)
# Plot
library(reshape2)
boxplot( value ~ variable, melt(d) )