【问题标题】:R: How to Delete All Columns in a Dataframe Except A Specified Few By String [duplicate]R:如何删除数据框中的所有列,除了指定的少数字符串[重复]
【发布时间】:2016-08-02 15:05:40
【问题描述】:

我在 R 中有一个数据框,它包含大约 400 个变量(作为列),但我只需要其中的 25 个。虽然我知道如何删除特定列,但由于删除 375 个变量的不切实际 - 有没有什么方法可以删除所有这些列,除了使用变量的字符串名称指定的 25 个?

谢谢。

【问题讨论】:

  • ?subset,例如:subset(airquality, select = c(Ozone, Temp))
  • 您没有“删除 375 个变量”。您提取 25 列。阅读help("[")
  • df[,c('name1', 'name2', ...)]
  • ?setdiff 在此过程中也可能有用

标签: r dataset


【解决方案1】:

示例:

 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

【讨论】:

    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 2012-11-13
    • 2019-04-10
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    相关资源
    最近更新 更多