如何根据有关另一列的条件获取列的级别

时间:2016-10-28 08:35:10

标签: r dataframe

如果数据框看起来像:

datas$A <- c("M","M","F","M","F","U","U")
datas$B <- c("cat","dog","cat","dog","cat","dog","dog")

我想按照以下方式做点什么:

list_levels <- levels(datas$A where datas$B == "cat")

作为输出:

list_levels
"M" "F"

我将如何继续这样做?

3 个答案:

答案 0 :(得分:4)

list_levels <- unique(df$A[df$B == "cat"])
print(list_levels)
# [1] "M" "F"

请注意,当您使用unique()时,它会按字母顺序在df$A 中显示的顺序返回唯一值。

答案 1 :(得分:2)

这样的事情会怎样? :

levels(data[data$B == "cat", ]$A)

答案 2 :(得分:0)

xcode-select --install