R语言,求数组的k项平均

例如有数组x=c(1,3,8,4),求3项平均,需要结果为(1,2,4,5),前面数据不够3项时就求前面几项的平均,够3项以后就依次往后移1=1/12=(1+3)/24=... 例如有数组x = c(1, 3, 8, 4),求3项平均,需要结果为(1,2,4,5),前面数据不够3项时就求前面几项的平均,够3项以后就依次往后移1 = 1/1 2 = (1+3)/2 4 = (1+3+8)/3 5 = (3+8+4)/3 展开
 我来答
david940408
推荐于2016-01-03 · TA获得超过5554个赞
知道大有可为答主
回答量:2964
采纳率:100%
帮助的人:1729万
展开全部
sma<-function(x,n){ #x是数组,求n项平均
    sapply(1:length(x),function(i){
        if(i>=n) mean(x[(i-n+1):i])
        else mean(x[1:i])
    })
}

用的时候就直接

sma(x,3)

就行了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式