1次调用中的多个列

Bti*_*rt3 2 r plyr

这是我的数据结构:

> str(highered.tweets)
'data.frame':   2950 obs. of  5 variables:
 $ created_at  : POSIXlt, format: "2012-02-13 20:41:36" "2012-02-13 20:37:00" ...
 $ from_user   : chr  "feministtexican" "OzGrrl09" "LuanaClarke" "LostBookEnds" ...
 $ from_user_id: chr  "68253996" "63451221" "273757811" "118199557" ...
 $ tweet_idstr : chr  "169234804729069570" "169233649844236288" "169233398240526337" "169232836795187203" ...
 $ text        : chr
Run Code Online (Sandbox Code Playgroud)

以下是我试图传递给plyr的函数:

NTWEETS <- function(x) nrow(x)
NUNIQUE <- function(x) length(unique(x$from_user_id))
Run Code Online (Sandbox Code Playgroud)

这很好用:

ddply(highered.tweets[,c(1,3)], .(format(created_at, "%j%H" )), NTWEETS)
ddply(highered.tweets[,c(1,3)], .(format(created_at, "%j%H" )), NUNIQUE)
Run Code Online (Sandbox Code Playgroud)

然而,这失败了:

ddply(highered.tweets[,c(1,3)], .(format(created_at, "%j%H" )), transform,
                      NTWEETS,
                      NUNIQUE)

Error in as.POSIXlt.POSIXct(x, tz) : invalid 'tz' value
Run Code Online (Sandbox Code Playgroud)

任何帮助都感激不尽.我刚刚开始使用plyr,我开始意识到我花了太长时间才进入这个伟大的图书馆.

提前致谢.

Ram*_*ath 5

试试这个.

summary_tweets <- function(x){
  num_tweets    <- NROW(x)
  unique_tweets <- length(unique(x$from_user_id))
  data.frame(num_tweets, unique_tweets)
}

ddply(highered.tweets[,c(1,3)], .(format(created_at, "%j%H" )), summary_tweets)
Run Code Online (Sandbox Code Playgroud)