当前位置:  开发笔记 > 编程语言 > 正文

删除包含特定单词的列

如何解决《删除包含特定单词的列》经验,为你挑选了2个好方法。

我有一个具有313列,约52000行信息​​的数据集。我需要删除包含单词“ PERMISSIONS”的每一列。我已经尝试过grep和dplyr,但似乎无法正常工作。

我已经读过文件了

testSet <- read.csv("/Users/.../data.csv")

其他示例显示了如何按名称删除列,但我不知道如何处理通配符。不太确定从这里去哪里。



1> 小智..:

如果只想删除已命名的列,PERMISSIONS则可以使用dplyr包中的select函数。

df <- data.frame("PERMISSIONS" = c(1,2), "Col2" = c(1,4), "Col3" = c(1,2))

PERMISSIONS Col2 Col3
1    1    1
2    4    2

df_sub <- select(df, -contains("PERMISSIONS"))

Col2 Col3
1    1
4    2



2> Paulo MiraMo..:

从我从问题中可以理解的内容来看,OP的数据框架如下:

df <- read.table(text = '
           a b c d
           e f PERMISSIONS g
           h i j k
           PERMISSIONS l m n',
                 stringsAsFactors = F)

目标是删除所有具有“ PERMISSIONS”条目的列。假设“权限”没有变化,此代码应该可以正常工作:

cols <- colSums(mapply('==', 'PERMISSIONS', df))
new.df <- df[,which(cols == 0)]

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有