因此,如果希望在dplyr中逐行应用操作,则可以使用rowwise
函数,例如:Applying a function to every row of a table using dplyr?
是否有unrowwise
函数可用于停止逐行停止操作?目前,似乎在group_by
删除行操作之后添加了rowwise
,例如
data.frame(a=1:4) %>% rowwise() %>% group_by(a)
# ...
# Warning message:
# Grouping rowwise data frame strips rowwise nature
如果您要显式删除
group_by(1)
,这是否意味着应该使用rowwise
? 最佳答案
如评论和其他答案所示,正确的方法是使用ungroup()
。rowwise(df)
操作将df
的类别之一设置为rowwise_df
。通过检查代码here,我们可以看到此类上的方法,该代码提供了以下ungroup
方法:
#' @export
ungroup.rowwise_df <- function(x) {
class(x) <- c( "tbl_df", "data.frame")
x
}
因此,我们看到
ungroup
并不是严格删除分组结构,而是删除从rowwise_df
函数添加的rowwise
类。