[英]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.