原谅我的无知,但我在排序数据框时遇到了问题。我想在排序时指定一个有序列表,如c("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
,以便数据框按列表顺序排序。如何使用R中的列表指定排序顺序?
在这个例子中,我想先从
Day Present Count
Fri No 164
Fri Yes 131
Mon No 142
Mon Yes 174
Sat No 39
Sat Yes 26
Sun No 44
Sun Yes 39
Thu No 191
Thu Yes 192
Tue No 184
Tue Yes 214
Wed No 343
Wed Yes 255
,并结束与
Day Present Count
Mon No 142
Mon Yes 174
Tue No 184
Tue Yes 214
Wed No 343
Wed Yes 255
Thu No 191
Thu Yes 192
Fri No 164
Fri Yes 131
Sat No 39
Sat Yes 26
Sun No 44
Sun Yes 39
我已经试过perday[do.call(order, perday[c("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")]),]
但我得到“选择未定义列”。如果字符向量中有14个条目,我也会得到相同的错误,所以我现在非常困惑。
这里的dput:
perday<-structure(list(dayofweek = c("Fri", "Fri", "Mon", "Mon", "Sat",
"Sat", "Sun", "Sun", "Thu", "Thu", "Tue", "Tue", "Wed", "Wed"
), Attended = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 1L, 2L), .Label = c("No", "Yes"), class = "factor"),
nrow = c(164L, 131L, 142L, 174L, 39L, 26L, 44L, 39L, 191L,
192L, 184L, 214L, 343L, 255L)), .Names = c("dayofweek", "Attended",
"nrow"), row.names = c(NA, -14L), class = "data.frame")
啊,必须让他们的因素,然后指定的水平。现在我已经开始在我的导入中设置stringsAsFactors = FALSE,我真的开始学习什么因素了! –
太好了。这使生活变得轻松。 – saudic