【问题标题】:How to specify year range in r? [duplicate]如何在r中指定年份范围? [复制]
【发布时间】:2016-08-17 05:38:50
【问题描述】:

我有一个名为薪金的数据集,其中 yearID 作为一列。我想指定从 2010 年到 2014 年的年份范围。我怎么能在 r 中做到这一点? 这个我试过了

df <- Salaries(yearID=c(2010,2011,2012,2013,2014))

还有,

salar09-05<-Salaries(yearID=c(2010:2014))

sqldf("select * from salaries where yearID > 2009 and date < 2015")

其中任何一个都不起作用。

【问题讨论】:

  • 你的意思是data.frame(yearID=c(2010,..。就做subset(Salaries, yearID %in% 2010:2014)
  • 是的,但我已经在我的数据框是 Salaries 的第一个代码中使用了它

标签: r


【解决方案1】:

您需要使用方括号来进行子集化。

df <- Salaries[Salaries$yearID %in% c(2010,2011,2012,2013,2014), ]

df <- Salaries[Salaries$yearID >= 2010 & Salaries$yearID <=2014, ] 

单个“=”是赋值运算符,而不是相等性测试。

【讨论】:

  • 你需要 Salaries$yearID
  • 我运行的所有代码都出现此错误:[.data.frame(Salaries, yearID >= 2010 & yearID
  • 固定代码。需要告诉 R 在哪里可以找到 yearID
  • 这个对我来说效果很好:df = 2010 & Salaries$yearID
【解决方案2】:

我们可以使用subset%in%

subset(Salaries, yearID %in% 2010:2014) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 2014-12-02
    • 2015-01-13
    • 1970-01-01
    相关资源
    最近更新 更多