gpt4 book ai didi

r - 如何在R中按名称模式删除列?

转载 作者:行者123 更新时间:2023-12-03 09:15:30 26 4
gpt4 key购买 nike

我有这个数据框:

state county city  region  mmatrix  X1 X2 X3    A1     A2     A3      B1     B2     B3      C1      C2      C3

1 1 1 1 111010 1 0 0 2 20 200 Push 8 12 NA NA NA
1 2 1 1 111010 1 0 0 4 NA 400 Shove 9 NA

现在我想排除名称以某个字符串结尾的列,比如“1”(即 A1 和 B1)。我写了这段代码:
df_redacted <- df[, -grep("\\1$", colnames(df))]

但是,这似乎删除了每一列。如何修改代码,使其仅删除与模式匹配的列(即以“3”或任何其他字符串结尾)?

解决方案必须能够处理具有数值和分类值的数据帧。

最佳答案

我使用 dplyr 找到了一个简单的答案/tidyverse .如果您的 colnames包含“This”,那么所有包含“This”的变量都将被删除。

library(dplyr) 
df_new <- df %>% select(-contains("This"))

关于r - 如何在R中按名称模式删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666226/

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