0

我在数据框中有一个元素的分解列表,例如:

df <- data.frame("A" = c(1, 2, 3, 4), "B" = c("a", "c", "d", "b"))

我使用以下命令对“B”列中的因子水平进行了重新排序:

levels(df$B) <- factor(df$B, levels = c("a", "b", "c", "d"))

我想访问一个因素的水平。例如,我想获得“b”级别的整数值(即 2)。

附加问题:

我还想在我的数据框中添加一个新列,它将给出级别的整数值。在上面的例子中,这将给出:

df <- data.frame("A" = c(1, 2, 3, 4), "B" = c("a", "c", "d", "b"), "Levels" =c(1,3,4,2))
4

2 回答 2

4

方法一:

which(levels(df$B)=="b")

方法二:

grep("b",levels(df$B))

回答附加问题:

df <- cbind(df, "Levels" = as.numeric(df$B))
于 2014-07-28T20:33:48.723 回答
2

level_to_check <- 'b'; which(levels(df$B) == level_to_check) # 2

于 2014-07-28T20:30:15.127 回答