gpt4 book ai didi

r - 如何在R中删除具有相同值的列

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

简而言之:

我想用我的 table 做这个,

enter image description here

解释:

我有 20,000 x 1,200 件元素的大 table 。我想删除所有从上到下具有相同值的列。但它不应该更改变量名称(示例中为 V2),以便稍后我可以确定删除了哪个变量。

最佳答案

只需使用 vapply检查每列中有多少个唯一值:

样本数据:

mydf <- data.frame(v1 = 1:4, v2 = 5:8,
v3 = 2, v4 = 9:12, v5 = 1)
mydf
## v1 v2 v3 v4 v5
## 1 1 5 2 9 1
## 2 2 6 2 10 1
## 3 3 7 2 11 1
## 4 4 8 2 12 1

我们将如何处理 vapply :
vapply(mydf, function(x) length(unique(x)) > 1, logical(1L))
# v1 v2 v3 v4 v5
# TRUE TRUE FALSE TRUE FALSE

保留您想要的列:
mydf[vapply(mydf, function(x) length(unique(x)) > 1, logical(1L))]
# v1 v2 v4
# 1 1 5 9
# 2 2 6 10
# 3 3 7 11
# 4 4 8 12

关于r - 如何在R中删除具有相同值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544282/

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