鉴于以下数据/tmp/thefile.csv
(CSV 文件):
AA,12
AB,1
BA,2
以及以下内容R
code:
v = read.csv('/tmp/thefile.csv', header=F)
library('ggplot2')
v$V3 = reorder(v$V1, v$V2)
ggplot(v, aes(x=v$V3, y=v$V2), stat='identity') + geom_bar(fill='dark grey', stat="identity")
该图按升序显示条形,这就是我想要的。如果没有reorder
线,图根据因子按字母顺序显示。
However:
> v
V1 V2 V3
1 AA 12 AA
2 AB 1 AB
3 BA 2 BA
表明顺序仍然是按字母顺序排列的。怎么ggplot
知道数字顺序吗?
如果你看v$V3
你会得到以下结果(print
) 输出:
[1] AA AB BA
attr(,"scores")
AA AB BA
12 1 2
Levels: AB BA AA
在最下面一行,您可以找到指定的级别顺序。
通过以下方式可以更轻松地获取此信息levels
功能:
levels(v$V3)
[1] "AB" "BA" "AA"
功能reorder
不更改向量中的值(或其顺序),但设置(更改)levels
和scores
属性来指示因子水平的顺序:
attributes(v$V3)
$levels
[1] "AB" "BA" "AA"
$class
[1] "factor"
$scores
AA AB BA
12 1 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)