R获取列中的所有类别
R get all categories in column
我有一个大型数据集(数据框),我想在其中的一列中查找我的分类的编号和名称。
例如我的 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
我该怎么做?
您可以简单地使用 unique:
x <- unique(df$B)
它会提取列中的唯一值。您也可以将它与 apply 一起使用以从每一列中获取它们!
categories <- unique(yourDataFrame$yourColumn)
numberOfCategories <- length(categories)
非常无痛。
这给出了唯一性、唯一性长度和频率:
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
此外,要查看排序后的值,您可以使用以下命令:
sort(table(df$B), decreasing = TRUE)
您会看到这些值按降序排列。
首先,您必须确保列的数据类型正确。很可能 R 已将其作为“chr”读取,您可以使用“str(df)”进行检查。
对于您作为示例提供的数据,您需要将其更改为“因子”。 df$ 列 <- as.factor(df$ 列)
一旦数据格式正确,您就可以使用“levels(df$column)”来获取数据集中级别的摘要
我有一个大型数据集(数据框),我想在其中的一列中查找我的分类的编号和名称。
例如我的 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
我该怎么做?
您可以简单地使用 unique:
x <- unique(df$B)
它会提取列中的唯一值。您也可以将它与 apply 一起使用以从每一列中获取它们!
categories <- unique(yourDataFrame$yourColumn)
numberOfCategories <- length(categories)
非常无痛。
这给出了唯一性、唯一性长度和频率:
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
此外,要查看排序后的值,您可以使用以下命令:
sort(table(df$B), decreasing = TRUE)
您会看到这些值按降序排列。
首先,您必须确保列的数据类型正确。很可能 R 已将其作为“chr”读取,您可以使用“str(df)”进行检查。 对于您作为示例提供的数据,您需要将其更改为“因子”。 df$ 列 <- as.factor(df$ 列) 一旦数据格式正确,您就可以使用“levels(df$column)”来获取数据集中级别的摘要