首页 文章

像dplyr一样的行操作

提问于
浏览
-1

假设我有一个data.frame

A B C
x q 4
x p 2
y q 0
y p 8

我想用 B==q 选择所有行并计算 C 的相应平均值,并将其作为附加行添加,假设为 A==zB==o ,并且 C 为刚刚计算的平均值 .

这基本上是dplyr对列的作用,但应用于行 . 我的问题是:有没有办法在行上应用dplyr操作而不是列?当然更好的是用于行操作的类似dplyr的包 .

(我的实际data.frame包含更多行和列的过程)

最好的祝福

2 回答

  • 0

    使用dplyr执行此操作的方法如下:

    df <-  read.table(header = TRUE, 
    text = "A B C
      x q 4
      x p 2
      y q 0
      y p 8")
    
    library(dplyr)
    
    df %>% bind_rows(df %>% 
                    filter(B=="q") %>% 
                    summarize(C = mean(C)) %>%
                    mutate(A = "z", B = "o")
                  )
    
  • 0

    我会说使用group_by并在dplyr中汇总函数

    df %>% group_by (B) %>% group_by(A) %>% summaries(mean(C))
    

相关问题