因此,如果希望在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类。

08-19 09:24