我在数据框中有一个因素列表,例如:
df <- data.frame("A" = c(1, 2, 3, 4), "B" = c("a", "c", "d", "b"))
我在列#B; B&#34;中重新排序了因子水平。使用:
levels(df$B) <- factor(df$B, levels = c("a", "b", "c", "d"))
我想访问一个因素的级别。例如,我想获得&#34; b&#34;的水平的整数值。 (这将是2)。
其他问题:
我还想在我的数据框中添加一个新列,它将给出该级别的整数值。 在上面的例子中,这将给出:
df <- data.frame("A" = c(1, 2, 3, 4), "B" = c("a", "c", "d", "b"), "Levels" =c(1,3,4,2))
答案 0 :(得分:4)
方法1:
which(levels(df$B)=="b")
方法2:
grep("b",levels(df$B))
回答其他问题:
df <- cbind(df, "Levels" = as.numeric(df$B))
答案 1 :(得分:2)
level_to_check <- 'b'; which(levels(df$B) == level_to_check) # 2