📅  最后修改于: 2023-12-03 15:27:57.949000             🧑  作者: Mango
在 R 中,我们经常需要查找一个向量或数据框中的唯一值。R 提供了多种方法可以计算唯一值。
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
函数。
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
函数可以计算一个向量或数据框的各个唯一值出现的次数。例如:
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 中的唯一值的几种方法,使用这些函数可以帮助我们更好地理解和操作数据。