R:如何删除数据帧中除指定的几列以外的所有列

R:如何删除数据帧中除指定的几列以外的所有列,r,dataset,R,Dataset,我在R中有一个数据帧,它由大约400个变量(作为列)组成,尽管我只需要25个变量。虽然我知道如何删除特定的列,但由于删除375个变量的不切实际性,是否有任何方法可以删除所有列,但使用变量的字符串名可以删除指定的25个 谢谢 示例: df <- data.frame(a=1:5,b=6:10,c=11:15,d=16:20,e=21:25,f=26:30) # Six columns df a b c d e f 1 1 6 11 16 21 26 2 2

我在R中有一个数据帧,它由大约400个变量(作为列)组成,尽管我只需要25个变量。虽然我知道如何删除特定的列,但由于删除375个变量的不切实际性,是否有任何方法可以删除所有列,但使用变量的字符串名可以删除指定的25个

谢谢

示例:

 df <- data.frame(a=1:5,b=6:10,c=11:15,d=16:20,e=21:25,f=26:30)  # Six columns
 df
    a  b  c  d  e  f
  1 1  6 11 16 21 26
  2 2  7 12 17 22 27
  3 3  8 13 18 23 28
  4 4  9 14 19 24 29
  5 5 10 15 20 25 30

 reqd <- as.vector(c("a","c","d","e")) # Storing the columns I want to extract as a vector
 reqd                                     
 [1] "a" "c" "d" "e"

 Result <- df[,reqd]       # Extracting only four columns
 Result
   a  c  d  e
 1 1 11 16 21
 2 2 12 17 22
 3 3 13 18 23
 4 4 14 19 24
 5 5 15 20 25

df
?子集
,例如:
子集(空气质量,选择=c(臭氧,温度))
您不会“删除375个变量”。您可以提取25列。阅读
帮助(“[”
df[,c('name1','name2',…)]
?setdiff
也可能有用