了解R中“重新排序”的工作原理
在csv文件/tmp/thefile.csv中提供以下数据:了解R中“重新排序”的工作原理,r,ggplot2,R,Ggplot2,在csv文件/tmp/thefile.csv中提供以下数据: AA,12 AB,1 BA,2 以及以下R代码: 图中以升序显示条形图,这正是我想要的。如果没有重新排序行,绘图将根据因子按字母顺序显示 然而: > v V1 V2 V3 1 AA 12 AA 2 AB 1 AB 3 BA 2 BA 显示顺序仍然是字母顺序。ggplot是如何知道数字顺序的?如果查看v$V3,您会得到以下打印输出: 在最低的一行中,可以找到指定的级别顺序 使用“级别”功能可以更轻松地获
AA,12
AB,1
BA,2
以及以下R代码:
图中以升序显示条形图,这正是我想要的。如果没有重新排序行,绘图将根据因子按字母顺序显示
然而:
> v
V1 V2 V3
1 AA 12 AA
2 AB 1 AB
3 BA 2 BA
显示顺序仍然是字母顺序。ggplot是如何知道数字顺序的?如果查看v$V3,您会得到以下打印输出:
在最低的一行中,可以找到指定的级别顺序
使用“级别”功能可以更轻松地获取此信息:
levels(v$V3)
[1] "AB" "BA" "AA"
函数reorder不会更改向量中的值或它们的顺序,但会设置更改级别和分数属性以指示因子级别的顺序:
attributes(v$V3)
$levels
[1] "AB" "BA" "AA"
$class
[1] "factor"
$scores
AA AB BA
12 1 2
如果查看v$V3,将获得以下打印输出:
在最低的一行中,可以找到指定的级别顺序
使用“级别”功能可以更轻松地获取此信息:
levels(v$V3)
[1] "AB" "BA" "AA"
函数reorder不会更改向量中的值或它们的顺序,但会设置更改级别和分数属性以指示因子级别的顺序:
attributes(v$V3)
$levels
[1] "AB" "BA" "AA"
$class
[1] "factor"
$scores
AA AB BA
12 1 2