我需要你对R中的函数的帮助。我不知道如何编程:输入应该是包含所有数据的数据框,数据框中的列名称,其中指定了检查的数据,以及数值表明平均值的可变性。数值是通过应该形成平均值的值来确定。参见例如: 迈德特:
A B C D
A1 B1 2 D1
A2 B2 3 D2
A3 B3 -1 D3
A4 B4 0 D4
A5 B5 1 D5
这里重要的列是C,这里的数值可以是2到5
输出应该是一个只有手段
的数据框例如:
输入:MyData,C,2
输出:
C
(2+3)/2
(3-1)/2
(-1+0)/2
(0+1)/2
或例如:
输入:MyData,C,4
输出:
C
(2+3-1+0)/4
(3-1+0+1)/4
当然,只有法案的结果应该被看到,为了便于理解,我已经写下了这条道路 我希望有一个人可以帮助我。谢谢!
答案 0 :(得分:1)
如果您愿意使用data.table:
df = as.data.frame(runif(10))
names(df) = 'c'
setDT(df)
df[ , output := (c + shift(c))/2]
答案 1 :(得分:1)
看看RcppRoll包。
library(RcppRoll)
roll_mean(df$C, 2)
roll_mean(df$C, 4)