Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何递归计算R中随时间变化的平均值_R_Recursion_Time_Average_Mean - Fatal编程技术网

如何递归计算R中随时间变化的平均值

如何递归计算R中随时间变化的平均值,r,recursion,time,average,mean,R,Recursion,Time,Average,Mean,考虑以下数据集 period<-c(1,2,3,4,5) x<-c(3,6,7,4,6) cumulative_average<-c((3)/1,(3+6)/2,(3+6+7)/3,(3+6+7+4)/4,(3+6+7+4+6)/5) df_test<-data.frame(value,cum_average) df_test period value cum_average 1 3 3 2 6

考虑以下数据集

period<-c(1,2,3,4,5)
x<-c(3,6,7,4,6)
cumulative_average<-c((3)/1,(3+6)/2,(3+6+7)/3,(3+6+7+4)/4,(3+6+7+4+6)/5)

df_test<-data.frame(value,cum_average)

df_test

period   value  cum_average
  1        3        3
  2        6        4.5
  3        7        5.3         
  4        4        5.0
  5        6        5.2

period也许你在找这个。您可以首先计算@tmfmnk中提到的累积和,然后除以跟踪观察次数的行数(如果需要平均值)。下面是使用dplyr的代码:

library(dplyr)
#Code
newdf <- df_test %>% mutate(AvgTime=cumsum(x)/row_number())
如果只需要累计总和:

#Code2
newdf <- df_test %>% mutate(CumTime=cumsum(x))
或仅
基本R

#Base R
df_test$Cumsum <- cumsum(df_test$x)

也许你在找这个。您可以首先计算@tmfmnk中提到的累积和,然后除以跟踪观察次数的行数(如果需要平均值)。下面是使用dplyr的代码:

library(dplyr)
#Code
newdf <- df_test %>% mutate(AvgTime=cumsum(x)/row_number())
如果只需要累计总和:

#Code2
newdf <- df_test %>% mutate(CumTime=cumsum(x))
或仅
基本R

#Base R
df_test$Cumsum <- cumsum(df_test$x)
使用标准R:

period<-c(1,2,3,4,5)
value<-c(3,6,7,4,6)
recursive_average<-cumsum(value) / (1:length(value))

df_test<-data.frame(value, recursive_average)

df_test

    value recursive_average
1     3          3.000000
2     6          4.500000
3     7          5.333333
4     4          5.000000
5     6          5.200000
period使用标准R:

period<-c(1,2,3,4,5)
value<-c(3,6,7,4,6)
recursive_average<-cumsum(value) / (1:length(value))

df_test<-data.frame(value, recursive_average)

df_test

    value recursive_average
1     3          3.000000
2     6          4.500000
3     7          5.333333
4     4          5.000000
5     6          5.200000

period我们可以使用
cummean

library(dplyr)
df_test %>%
       mutate(AvgTime=cummean(value))
-输出

#   period value  AvgTime
#1      1     3 3.000000
#2      2     6 4.500000
#3      3     7 5.333333
#4      4     4 5.000000
#5      5     6 5.200000
数据
df_检验我们可以使用
cummean

library(dplyr)
df_test %>%
       mutate(AvgTime=cummean(value))
-输出

#   period value  AvgTime
#1      1     3 3.000000
#2      2     6 4.500000
#3      3     7 5.333333
#4      4     4 5.000000
#5      5     6 5.200000
数据
df\u测试查看
cumsum()
函数。相关:查看
cumsum()
函数。相关:我建议将名称
recursive\u average
更改为
cumulative\u average
我建议将名称
recursive\u average
更改为
cumulative\u average