首页 > 解决方案 > 子设置2个日期之间的列

问题描述

我有一个名为的数据框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,我知道该怎么做。我尝试了相同的方法,但显示错误。

提前致谢。

标签: rdatesubset

解决方案


我有点怀疑该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)

推荐阅读