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

R-如何按月对数据帧进行子集?,r,date,subset,R,Date,Subset,好的,我试着分别对6月、7月和8月的数据进行子集。我使用as.Date函数将日期转换为类“Date” BG.data$Date <- as.Date(BG.data$TIMESTAMP, format = "%d/%m/%Y") 为什么??!!!?我在课堂日期中有我想要的,所以我不知道为什么它不起作用 为了简单起见,请尝试将月份另存为新列,并使用该列: BG.data$month <- factor(format(data.new$timestamp, "%B"),

好的,我试着分别对6月、7月和8月的数据进行子集。我使用as.Date函数将日期转换为类“Date”

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

为什么??!!!?我在课堂日期中有我想要的,所以我不知道为什么它不起作用

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

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

诸如此类。

您可能会发现
lubridate
包比base R中的日期更简单。该包中的哪个函数?我不知道
selectByDate
如何工作,但您的
开始日期和
结束日期的格式是
%d/%m/%Y
,而类的日期
Date
是格式化的
%Y-%m-%d
已选中
selectByDate
。它在包
openair
中。它有一个
month
参数:“一个月或多个月可供选择。可以是数字,例如month=1:6以选择1-6个月(1月至6月),也可以按名称”。此外,您提供了一个向量作为第一个参数,而帮助文本说您应该提供一个数据帧。请在发布前阅读帮助文本。谢谢您的好心先生,您是boss@NickDriscoll:不用担心。如果这是有用的,您可以向上投票(答案左边的箭头)或选择此作为首选答案(在答案左边打勾)。这就是我如何得到我的温暖和绒毛。谢谢
 Error in as.Date.default(date) : 
 do not know how to convert 'date' to class “Date”
BG.data$month <- factor(format(data.new$timestamp, "%B"),
                       levels = month.name)
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 })