gpt4 book ai didi

r - 删除具有几乎特定名称的列

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

我有一个 d 数据框,我想删除名称几乎相同的列。示例 col, col1, col2 .... coln

我试过这样的事情:

 d$coln <- NULL

但它仅适用于最后一个 coln 列。

最佳答案

使用 grep识别列和 list(NULL)删除它们。

一些示例数据:

set.seed(1)
mydf <- data.frame(id_1 = 1:6, id_2 = c("A", "B"), varA.1 = sample(letters, 6),
varA.2 = sample(letters, 6), varA.3 = sample(letters, 6),
varB.2 = sample(10, 6), varB.3 = sample(10, 6),
varC.3 = rnorm(6))
mydf
# id_1 id_2 varA.1 varA.2 varA.3 varB.2 varB.3 varC.3
# 1 1 A g y r 4 3 -0.04493361
# 2 2 B j q j 7 4 -0.01619026
# 3 3 A n p s 8 1 0.94383621
# 4 4 B u b l 2 10 0.82122120
# 5 5 A e e p 10 6 0.59390132
# 6 6 B s d u 1 2 0.91897737

让我们删除所有包含“varA”的列。
mydf[grep("varA", names(mydf))]
mydf[grep("varA", names(mydf))] <- list(NULL)
mydf
# id_1 id_2 varB.2 varB.3 varC.3
# 1 1 A 4 3 -0.04493361
# 2 2 B 7 4 -0.01619026
# 3 3 A 8 1 0.94383621
# 4 4 B 2 10 0.82122120
# 5 5 A 10 6 0.59390132
# 6 6 B 1 2 0.91897737

关于r - 删除具有几乎特定名称的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899922/

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