我有一个具有313列,约52000行信息的数据集。我需要删除包含单词“ PERMISSIONS”的每一列。我已经尝试过grep和dplyr,但似乎无法正常工作。
我已经读过文件了
testSet <- read.csv("/Users/.../data.csv")
其他示例显示了如何按名称删除列,但我不知道如何处理通配符。不太确定从这里去哪里。
如果只想删除已命名的列,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
从我从问题中可以理解的内容来看,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)]