如何创建一个数据框,其中每个元素是一个有序因子?

时间:2014-04-05 01:29:10

标签: r

我看到可以将字符串转换为数据框中每个元素的因子。

data.frame(..., row.names = NULL, check.rows = FALSE,
       check.names = TRUE,
       stringsAsFactors = default.stringsAsFactors())

如何创建有序因子?

2 个答案:

答案 0 :(得分:2)

如果df是data.frame,则会将所有列转换为有序因子(默认排序)。

df[] <- lapply(df, factor, ordered=TRUE)

如果您对订购有更具体的要求,您应该更清楚地了解这些要求。

答案 1 :(得分:0)

如果我了解您要执行的操作,如果您的数据框df包含列x中的字符数据,则可以使用:

df$x <- as.ordered(df$x)

这假设默认排序是您想要的,例如

> as.ordered(c("a","b","c"))
[1] a b c
Levels: a < b < c