📜  计算 R 中的唯一值(1)

📅  最后修改于: 2023-12-03 15:27:57.949000             🧑  作者: Mango

计算 R 中的唯一值

在 R 中,我们经常需要查找一个向量或数据框中的唯一值。R 提供了多种方法可以计算唯一值。

unique 函数

unique 函数可以返回一个向量中唯一的元素。它的用法如下:

x <- c(1, 2, 3, 1, 2, 3, 4)
unique(x)

输出结果:

[1] 1 2 3 4

我们也可以对一个数据框的某一列或几列使用 unique 函数,以查找唯一值。例如:

df <- data.frame(a = c(1, 2, 3, 1, 2), b = c("x", "y", "z", "x", "y"))
unique(df$a)
unique(df[c("a", "b")])

输出结果:

[1] 1 2 3
  a b
1 1 x
2 2 y
3 3 z
duplicated 和 match 函数

在某些情况下,我们需要标记向量中出现重复的元素,或者查找在一个向量中出现的元素在另一个向量中的索引位置。这时我们可以使用 duplicatedmatch 函数。

duplicated 函数可以判断一个向量中每个元素是否为重复出现的元素。例如:

x <- c(1, 2, 3, 1, 2, 4)
duplicated(x)

输出结果:

[1] FALSE FALSE FALSE  TRUE  TRUE FALSE

match 函数可以查找一个向量中的元素在另一个向量中的索引位置。例如:

x <- c(1, 2, 3, 1, 2, 4)
y <- c(2, 1, 4)
match(y, x)

输出结果:

[1] 2 1 6
table 函数

table 函数可以计算一个向量或数据框的各个唯一值出现的次数。例如:

x <- c(1, 2, 3, 1, 2, 4)
table(x)

输出结果:

x
1 2 3 4 
2 2 1 1

我们也可以对一个数据框的某一列或几列使用 table 函数。例如:

df <- data.frame(a = c(1, 2, 3, 1, 2), b = c("x", "y", "z", "x", "y"))
table(df$a)
table(df[c("a", "b")])

输出结果:

 1  2  3 
 2  2  1 

   b
a   x y z
  1 2 0 0
  2 0 2 0
  3 0 0 1

以上是计算 R 中的唯一值的几种方法,使用这些函数可以帮助我们更好地理解和操作数据。