2015-10-15 41 views
0

下面总结日期是数据,我有:计数和分别在R

Item Date 
Apple 09/06/2015 
Orange 19/06/2015 
Pear 01/09/2015 
Kiwi 20/10/2015 

我想计数R.

低于月份和年份日期列中的项目被输出我想实现:

Date  Frequency 
05/2015 0 
06/2015 2 
07/2015 0 
08/2015 0 
09/2015 1 
10/2015 1 

谢谢。

+1

尝试'table'函数。 – ako

回答

3

只要确保你有适当的格式日期,那么你可以使用cuttable,加上一些格式,如果你想修剪天,

## Convert to date 
dat$Date <- as.Date(dat$Date, format="%d/%m/%Y") 

## Tabulate 
tab <- table(cut(dat$Date, 'month')) 

## Format 
data.frame(Date=format(as.Date(names(tab)), '%m/%Y'), 
      Frequency=as.vector(tab)) 
#  Date Frequency 
# 1 06/2015   2 
# 2 07/2015   0 
# 3 08/2015   0 
# 4 09/2015   1 
# 5 10/2015   1 
1

假设你每月汇总后的时候,我会用lubridatedplyr

library(lubridate) 
library(dplyr) 

data$Date <- dmy(data$Date) 
data$date_formatted <- paste(month(data$Date), "/", year(data$Date), sep = "") 

data %>% group_by(date_formatted) %>% summarise(frequency = n()) 

这给出了以下的输出:

date_formatted frequency 
1  10/2015   1 
2   6/2015   2 
3   9/2015   1 
+1

这不是OP的预期输出。 – 2015-10-15 04:44:41