如何计算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 中执行其他常见任务:

R中如何计算重复项
如何在R中按组计算唯一值
如何统计R中每列NA值的个数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注