gpt4 book ai didi

r - 使用 R 从数据框中提取唯一值

转载 作者:行者123 更新时间:2023-12-04 09:41:33 25 4
gpt4 key购买 nike

我有一个包含多列的数据框,我希望能够隔离其中的两列并获得唯一值的总数......这是我的意思的一个例子:

假设我有一个数据框 df:

df<- data.frame(v1 = c(1, 2, 3, 2, "a"), v2 = c("a", 2 ,"b","b", 4))
df

v1 v2
1 1 a
2 2 2
3 3 b
4 2 b
5 a 4

现在我想要做的只是提取两列中的唯一值。因此,如果我只对每一列使用 unique() ,则输出将如下所示:
> unique(df[,1])
[1] 1 2 3 a
> unique(df[,2])
[1] a 2 b 4

但这并不好,因为它只找到每列的唯一值,而我需要两列中唯一值的总数!例如,'a' 在两列中都重复,但我只希望它计数一次。对于我需要的示例输出;想象一下 V1 和 V2 列像这样放在彼此的顶部:
  V1_V2
1 1
2 2
3 3
4 2
5 a
6 a
7 2
8 b
9 b
10 4

V1_V2 的唯一值是:
   V1_V2
1 1
2 2
3 3
5 a
8 b
10 4

然后我可以使用 nrow() 计算行数。
任何想法我会如何实现这一目标?

最佳答案

这非常适合 union :

data.frame(V1_V2=union(df$v1, df$v2))

# V1_V2
#1 1
#2 2
#3 3
#4 a
#5 b
#6 4

关于r - 使用 R 从数据框中提取唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40003028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com