在2个日期之间设置子列

时间:2018-07-25 10:24:18

标签: r date subset

我有一个名为nestle的数据框,我必须查找具有两个指定日期(例如01-01-2010和01-01-2015)之间的列标题量的销售量。日期是作为因素给出的,我已经使用as.Date语法将它们转换为日期。我正在尝试使用-

 vol1 <- nestle(nestle$Volume >= "01-01-2010" & nestle$Volume <= "01-01-2015")

显示错误

  

找不到函数“嵌套”

我是R语言的新手,正在尝试学习。

我的问题的第二部分是,如果我想在R中细分两个列,即第一列和第六列,我应该怎么做?

如果它们是连续的,即3到6,我知道该怎么做。我尝试了相同的方法,但是显示出错误。

谢谢。

1 个答案:

答案 0 :(得分:0)

我有点怀疑Volume列中是否包含日期,通常应将其称为“ sales_date”。

对于日期/时间操作lubridate库非常方便

# Simulation of data.frame w/10000 rows
set.seed(123)
library(lubridate)
NESTLEIND.NS <- data.frame(sales_date = as_date(sample(10000, replace = TRUE) + 10000), 
                           matrix((1:10000) * 5, ncol = 5), 
                           Volume = 10 * abs(rnorm(10000)))


nestle <- NESTLEIND.NS

# Date subsetting
nestle_date <- nestle[nestle$sales_date >= dmy("01-01-2010") & 
  nestle$sales_date <= dmy("01-01-2015"), ]

# check result
str(nestle_date)

# Column subsetting
nestle_column <- nestle[, c(1, 6)]

# Check result
str(nestle_column)