如何计算r中列中的唯一值
您可以使用以下方法来统计R中数据框的列中唯一值的数量:
方法一:使用Base R
length(unique(df$my_column))
方法2:使用dplyr
library (dplyr)
n_distinct(df$my_column)
以下示例展示了如何在实践中使用以下数据框使用每种方法:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'),
points=c(10, 13, 14, 14, 18, 19, 20, 20, 22))
#view data frame
df
team points
1 to 10
2 to 13
3 to 14
4 to 14
5 B 18
6 B 19
7 C 20
8 C 20
9 D 22
方法1:使用R基数计算列中的唯一值
以下代码展示了如何使用 R 基本函数计算数据框点列中唯一值的数量:
#count unique values in points column
length(unique(df$points))
[1] 7
积分栏中有 7 个唯一值。
要计算数据框每列中唯一值的数量,我们可以使用sapply()函数:
#count unique values in each column
sapply(df, function (x) length(unique(x)))
team points
4 7
从结果我们可以看出:
- 积分栏中有 7 个唯一值。
- team栏有4个唯一值。
方法2:使用dplyr计算列中的唯一值
以下代码显示了如何使用 dplyr 包中的n_distinct()函数计算点列中不同值的数量:
library (dplyr)
#count unique values in points column
n_distinct(df$points)
[1] 7
积分栏中有 7 个唯一值。
要计算数据框每列中唯一值的数量,我们可以使用sapply()函数:
library (dplyr)
#count unique values in each column
sapply(df, function (x) n_distinct(x))
team points
4 7
从结果我们可以看出:
- 积分栏中有 7 个唯一值。
- team栏有4个唯一值。
请注意,这些结果与基本 R 方法的结果相匹配。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: