gpt4 book ai didi

r - 使用 dplyr 在数据导入中仅保留一个唯一列

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

我有兴趣使用 dplyr 删除满足以下特征的列:

  • 列值相同
  • 列名称相同

数据

我正在处理与提取相对应的数据集:

data("mtcars")
dta <- cbind(mtcars, mtcars[,1:4], mtcars[,1:2], mtcars[,4:6])

任务

使用dplyr,我想通过删除重复列来返回原始mtcars数据。 在现实世界中,原始的 mtcars 对我来说不可用,即我无法获取数据中应包含的列名称列表。

尝试 1

我想在这些方面做一些事情:

require(dplyr); require(magrittr)
dta %<>%
select(matches(unique(names(dta))))

这当然行不通:

Error: is.string(match) is not TRUE

此外,该代码不包含检查是否存在重复值。

最佳答案

也许我们可以尝试

dta %<>% 
setNames(.,make.unique(names(.))) %<>%
select(-matches("\\.\\d+"))
identical(dta, mtcars)
#[1] TRUE

关于r - 使用 dplyr 在数据导入中仅保留一个唯一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34676512/

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