【问题标题】:Subsetting dataframe based on two values in one column [duplicate]基于一列中的两个值对数据框进行子集[重复]
【发布时间】:2020-02-08 04:01:30
【问题描述】:

我正在尝试从 R 中的较大数据集中对两年的小气候数据进行子集化。我可以对一年进行子集化,但在同一操作中很难对两年的子集化。

此操作运行良好:

ChamberTemp <- subset(ChamberTemp,
               subset=year=="2011",
               select=c(year,month,chamber,cat1.avg,cat2.avg,cat3.avg))

如何按两年进行子集化?即 2011 年和 2012 年

谢谢!

【问题讨论】:

    标签: r


    【解决方案1】:

    对于大于 1 的 length 向量,我们需要 %in% 而不是 ==

    subset(ChamberTemp,
               subset=year %in% c("2011", "2012"),
               select=c(year,month,chamber,cat1.avg,cat2.avg,cat3.avg))
    

    使用dplyr,可以使用

    library(dplyr)
    ChamberTemp %>%
          filter(year %in% c("2011", "2012")) %>%
          select(year, month, chamber, matches("^cat[1-3]\\.avg$"))  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 2021-05-29
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多