library("dplyr")
## 
## Attaching package: 'dplyr'
## 
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## 
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library("magrittr")
## Warning: package 'magrittr' was built under R version 3.0.3
date <-
  seq(from=as.Date("2014-01-01"),to=as.Date("2014-02-01"),by=1) %>% 
  sample(.,300,replace=T)
users <- 
  sample(letters[1:10], 300, replace = T)
user_log_sample.df <- 
  data.frame(
    user=users,
    date=date
    ) %>%
  arrange(date)
user_log_sample.df %>% head # ユーザ利用履歴ログっぽいものを作成
##   user       date
## 1    b 2014-01-01
## 2    d 2014-01-01
## 3    e 2014-01-01
## 4    d 2014-01-01
## 5    e 2014-01-01
## 6    e 2014-01-01
log.tbl <- 
  user_log_sample.df$user %>% table # tableでカウント(日付データいらなかった。。
(log.tbl)
## user_log_sample.df$user
##  a  b  c  d  e  f  g  h  i  j 
## 27 25 31 31 35 34 32 26 31 28
class(log.tbl) # データ型の確認
## [1] "table"
log.tbl %>% as.data.frame -> res # データフレームに変換
res
##    user_log_sample.df.user Freq
## 1                        a   27
## 2                        b   25
## 3                        c   31
## 4                        d   31
## 5                        e   35
## 6                        f   34
## 7                        g   32
## 8                        h   26
## 9                        i   31
## 10                       j   28
str(res) # Freq は intになってる
## 'data.frame':    10 obs. of  2 variables:
##  $ user_log_sample.df.user: Factor w/ 10 levels "a","b","c","d",..: 1 2 3 4 5 6 7 8 9 10
##  $ Freq                   : int  27 25 31 31 35 34 32 26 31 28
# tableは使わずに、dplyrでカウントする場合
res <- 
  user_log_sample.df %>%
  group_by(user) %>%
  summarise(accessed=length(date))
res
## Source: local data frame [10 x 2]
## 
##    user accessed
## 1     a       27
## 2     b       25
## 3     c       31
## 4     d       31
## 5     e       35
## 6     f       34
## 7     g       32
## 8     h       26
## 9     i       31
## 10    j       28