R获取列中的所有类别

时间:2017-09-02 20:17:20

标签: r categories datacolumn

我有一个大型数据集(数据帧),我想在列中找到我的cartegories的数量和名称。

例如我的df就是这样:

 A   B   
 1   car
 2   car
 3   bus
 4   car
 5   plane 
 6   plane 
 7   plane 
 8   plane 
 9   plane 
 10   train

我想找到:

  car
  bus
  plane
  train
  4

我该怎么做?

5 个答案:

答案 0 :(得分:7)

categories <- unique(yourDataFrame$yourColumn) 
numberOfCategories <- length(categories)

非常无痛。

答案 1 :(得分:4)

这给出了独特的,独特的长度和频率:

table(df$B)
bus   car plane train 
1     3     5     1

length(table(x$B))
[1] 4

答案 2 :(得分:2)

我建议你在这里使用因素,如果你还没有。它简单明了。

levels()给出了唯一的类别,nlevels()给出了它们的数量。如果我们首先对数据运行droplevels(),我们会处理数据中可能不再存在的任何级别。

with(droplevels(df), list(levels = levels(B), nlevels = nlevels(B)))
# $levels
# [1] "bus"   "car"   "plane" "train"
#
# $nlevels
# [1] 4

答案 3 :(得分:1)

您可以简单地使用unique:

x <- unique(df$B)

它将提取列中的唯一值。您可以将它与apply一起使用以从每列中获取它们!

答案 4 :(得分:0)

此外,要查看排序的值,可以使用以下内容:

sort(table(df$B), decreasing = TRUE)

然后您将看到这些值按降序排列。