我有一个大型数据集(数据帧),我想在列中找到我的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
我该怎么做?
答案 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)
然后您将看到这些值按降序排列。