说,我的变量如下。
df = read.csv('somedataset.csv') #contains 'col1','col2','col3','col4','col5' say
colsSomeRemoveSomeDontRemove = c('col1','col2','col3')
colsDontRemove = 'col2'
我想从df中删除 colsSomeRemoveSomeDontRemove 中的所有列,但不属于 colsDontRemove 。
所以基本上,最后我的df应该只包含列'col2','col4','col5'
我该怎么做?
我尝试过以下操作,但无法使其正常工作
df1 = cbind(df[,which(!(names(df) %in% colsSomeRemoveSomeDontRemove))],as.data.frame(df[,colsDontRemove]))
答案 0 :(得分:2)
df[, !(colnames(df) %in% setdiff(colsSomeRemoveSomeDontRemove, colsDontRemove))]