将分组数据帧传递给dplyr中的自有函数
我正试图从plyr转到dplyr。然而,我似乎仍然不知道如何在链式dplyr函数中调用自己的函数将分组数据帧传递给dplyr中的自有函数,r,plyr,dplyr,R,Plyr,Dplyr,我正试图从plyr转到dplyr。然而,我似乎仍然不知道如何在链式dplyr函数中调用自己的函数 printFunction <- function(dat) print(dat) df <- data.frame(a = 1:6, b = 1:2) 我有一个带因式分解ID变量和顺序变量的数据帧。我想按ID分割帧,按order变量排序,并在新列中添加一个序列 我的plyr函数如下所示: f <- function(x) cbind(x[order(x$order_variab
printFunction <- function(dat) print(dat)
df <- data.frame(a = 1:6, b = 1:2)
我有一个带因式分解ID变量和顺序变量的数据帧。我想按ID分割帧,按order变量排序,并在新列中添加一个序列
我的plyr函数如下所示:
f <- function(x) cbind(x[order(x$order_variable), ], Experience = 0:(nrow(x)-1))
data <- ddply(data, .(ID_variable), f)
f%
变异(经验=0:(n()-1))
然而,我仍然很想学习如何将分组的变量拆分到不同的表中,以在dplyr中拥有自己的函数。对于那些从google获得这些函数的人来说。假设您编写了自己的打印函数
printFunction <- function(dat) print(dat)
df <- data.frame(a = 1:6, b = 1:2)
打印整个数据。要让dplyr打印按分组的多个表,应使用do
df %>%
group_by(b) %>%
do(printFunction(.))
您使用的是R和dplyr的哪个版本?我认为我们需要一个可复制的数据集@nrussell我不认为这个问题是抛出的错误,只是不是预期的结果。我发现这个问题是因为我自己也有类似的问题。我做了一些非常类似的
d%>%groupby(var1,var2)%>%summary(blah=f(.)
。我返回了一个组数据帧,但'blah'的每个条目都是相同的。我认为这是如上所述;由于某种原因,传递整个df,而不是像plyr
这样的分组“块”。
df %>%
group_by(b) %>%
printFunction(.)
df %>%
group_by(b) %>%
do(printFunction(.))