繁体   English   中英

计算R中特定列中每行的新Mean()和Max()值

[英]Calculate New Mean() and Max() value for each row in a particular column in R

我需要根据某些条件对数据帧进行分段,比如mean()max()

这是我的数据帧df,带有一个变量A

    A
    0
    0
    3
    2
    4
    3  
   ...

我需要为此列的每一行创建另外两列meanmax
预期产出

    A      mean                                      max
    0       0                                         0
    0       0(mean(A[1], A[2]))                       0(max(A[1], A[2]))
    3       1(mean(A[1],A[2],A[3]))                   3(max(A[1],A[2],A[3]))
    2       1.25(mean(A[1],A[2],A[3],A[4]))           3(max(A[1],A[2],A[3],A[4]))
    4       1.8(mean(A[1],A[2],A[3],A[4],A[5]))       4(max(A[1],A[2],A[3],A[4],A[5]))
    3       2(mean(A[1],A[2],A[3],A[4],A[5],A[6]))    4(max(A[1],A[2],A[3],A[4],A[5],A[6]))
   ...       ...                                      ...

什么是在R中执行此操作的最佳方式?

dplyr包内置了许多累积函数。这是一个例子。

> library(dplyr)
> btest <- data.frame(a = c(0,0,3,4,2,3), b = rnorm(6))
> btest %>% mutate(mean = cummean(a), max = cummax(a))
  a          b mean max
1 0 -1.6028412 0.00   0
2 0  0.1953723 0.00   0
3 3  0.2022246 1.00   3
4 4 -0.2744182 1.75   4
5 2  0.3343044 1.80   4
6 3  0.2081762 2.00   4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM