繁体   English   中英

R-如何按月对数据框进行子集化?

[英]R - How to subset a dataframe by month?

好的,所以我想分别对六月,七月和八月的数据进行子集化。 我通过使用as.Date函数将日期转换为类“ Date”。

BG.data$Date <- as.Date(BG.data$TIMESTAMP, format = "%d/%m/%Y")

接下来,我尝试通过选择7月份的开始日期和结束日期来对数据进行子集化。

July <- selectByDate(BG.data$Date, start = "1/7/2014", end = "31/7/2014")

而且我不断收到此错误消息。

 Error in as.Date.default(date) : 
 do not know how to convert 'date' to class “Date”

为什么??!!!? 我有想要在Date类中子集的内容,所以我不知道为什么它不起作用!

为简单起见,请尝试将月份另存为新列并使用该列:

BG.data$month <- factor(format(data.new$timestamp, "%B"),
                       levels = month.name)

然后,您可以在for循环中使用它:

for (month in unique(BG.data$month)){
# get the subset
BG.subset <- BG.data[,BG.data$month == month]
# now do something with that subset
}

您也可以合计使用:

aggregate(something ~ month,
          data = BG.data,
          FUN = function(x){ # custom function })

等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM