R中的因子顺序:如何根据输入文件进行设置?

时间:2018-12-10 20:26:28

标签: r

当使用read.table将文件读入R时,因子的顺序是字母顺序的,例如:

x = read.table(textConnection("State Region
Vermont Northeast
Alabama South
Iowa Midwest
Nevada West
Oregon Northwest"), header=T)

levels(x$Region)
##[1] "Midwest"   "Northeast" "Northwest" "South"     "West"     

我想对Region重新排序,以使级别的顺序与它们在输入文件中出现的顺序匹配,即

## Some magic happens
levels(x$Region)
##[1] "Northeast" "South" "Midwest" "West" "Northwest"

例如通过

明确地这样做
x$Region = as.factor(x$Region, levels=c("Northeast", "South", "Midwest", "West", "Northwest") 

并不是一个很好的选择,因为我想将该脚本用于各种不同的输入文件,并且我事先不知道“区域”列中的内容。

0 个答案:

没有答案