我有一些数据如下,我想要一列的特定类型的加权平均值.

    library("tidyverse")
    Mydata<-
    tibble(
    id = c(1,2,3,4,5,6,7,8,9,10),
    AGE=  c(15,16,17, 18, 19, 20, 21, 22, 23,24),
    Prob= c(25,30,43,43,25,25,25,25,67   
                 ,33)) 

我希望对从上到下的所有Prob列执行类似以下函数的操作:

    prob.age15=(X+ (X+1)*2+ (X+2)*2+(X+3)*2+ (X+4))/8

    prob.age16=((X+1)+ (X+2)*2+(X+3)*2+ (X+4)*2+(X+5))/8
    porb.age17...

最后,我想要这样的东西:

enter image description here

推荐答案

我想你要找的是lead:

Mydata %>%
  mutate(result = (Prob + 2 * lead(Prob) + 2 * lead(Prob, 2) + 
                     2 * lead(Prob, 3) + lead(Prob, 4))/8) %>%
  as.data.frame()
#>    id AGE Prob result
#> 1   1  15   25 35.250
#> 2   2  16   30 34.625
#> 3   3  17   43 31.750
#> 4   4  18   43 27.250
#> 5   5  19   25 30.250
#> 6   6  20   25 36.500
#> 7   7  21   25     NA
#> 8   8  22   25     NA
#> 9   9  23   67     NA
#> 10 10  24   33     NA

R相关问答推荐

想要创建一个可以存储四个多元正态总体的多元偏度的载体

如何设置搜索栏来搜索整个Shiny应用程序页面?

R中的枢轴/转置

基于现有类创建类的打印方法(即,打印tibles更长时间)

向gggplot 2中的数据和轴标签添加大写和星号

如何使用按钮切换轨迹?

如何改变时间图R中的悬停信息?

如何调整曲线图中的y轴标签?

LOF中的插图短文字幕

R中边际效应包中Logistic回归的交互作用风险比

将一个字符串向量调整为与其他字符串向量完全相同的大小

识别连接的子网(R-igraph)

具有重复元素的维恩图

为什么在BASE R中绘制线条时会看到线上的点?

如何平滑或忽略R中变量的微小变化?

R中治疗序列的相对时间指数

创建新列,其中S列的值取决于该行S值是否与其他行冗余

禁用时,SelecizeInput将变得不透明

在鼠标悬停时使用Plotly更改geom_point大小

如何在访问之前下载的输入时同时上传和处理所有指定的shiny 输入?