R获得列中的所有类别

R获得列中的所有类别

问题描述:

我有一个大的数据集(数据框),我想在列中查找我的cartegories的数量和名称。R获得列中的所有类别

例如我的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 

我会怎么做呢?

+1

你对数字和名字有什么意思?什么号码?例如,4从哪里来?如果你指的是频率,你可能想使用类似'table(df $ B)'的东西。 – coffeinjunky

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

很无痛。

您可以简单地使用独特:

x <- unique(df$B) 

它将在列中提取的唯一值。你可以使用它与申请从每个列中获取它们!

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

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

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

我会建议你使用的因素在这里,如果你是不是已经。它很直接简单。

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

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

谢天谢地,有一种数据框架方法用于“水滴” –