【问题标题】:Select variables on multiple conditions in R在R中选择多个条件的变量
【发布时间】:2020-10-01 06:12:41
【问题描述】:

我正在尝试在多个条件下选择列: 1. 我想选择特定列,但我也想选择名称中包含特定表达式的变量。 我试过这个:

df.waste <- w0%>%
  select(council_name, Period, year | contains("households" | "Tonnage"))

所以我试图选择列“council_name”、“Period”、“year”以及所有名称中包含“household”或“Tonnage”的列。

我尝试了与上述类似的不同方法,但我并没有完全得到我想要的。 谢谢!

【问题讨论】:

  • 试试w0 %&gt;% select(council_name, Period, year, contains(c("households", "Tonnage")))

标签: r select dplyr data.table tidyr


【解决方案1】:

像这样?

w0%>%
  select(council_name, Period, year | contains(c("households", "Tonnage")))

# A tibble: 1 x 5
  council_name Period year  householdsabc Tonnageabc
  <lgl>        <lgl>  <lgl> <lgl>         <lgl>     
1 NA           NA     NA    NA            NA 

数据

council_name <- NA
Period <- NA
year <- NA
householdsabc <- NA
Tonnageabc <- NA

w0 <- tibble(council_name, Period, year, householdsabc, Tonnageabc)

【讨论】:

  • 完美。离得太近了,想不出来哈哈。谢谢!
  • 不客气!正如@Darren 提到的,您可以将| 替换为,
【解决方案2】:

另一个选项是grep in base R

w0[c(1, 2, grep("households|Tonnage", names(w0)))]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多