楼主: 我是小趴菜
287 0

[数据挖掘工具] 如何使用另一列的前三行的平均值填充新列? [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29650 个
通用积分
380.5350
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

假设我有一个数据框,其中每行代表不同的一天。我有一个包含日期的列,以及一个每天感兴趣的值的列。例如,我可能会创建一个这样的数据帧:


DF <-data.frame(日期= C( “9/1”, “9/2”, “9/3”, “9/4”, “9/5”, “9/6”),值= C(2,3,5,8,11,12))


我想创建一个额外的列(为方便起见,名为“avg”),它平均过去3天的值,包括那天。换句话说,我希望上面创建的数据框添加一个看起来大致如下的附加列:


平均


NA


NA


3.33


5.33


8


10.33


我怎么能在R中这样做?如果可能的话,我也希望在7天之前完成此操作,但我认为该代码与此问题的代码非常相似。


解决办法:> library(zoo)

> DF$avg <- c(NA, NA, rollmean(DF$value, 3))

> DF

date value avg

1 9/1 2 NA

2 9/2 3 NA

3 9/3 5 3.333333

4 9/4 8 5.333333

5 9/5 11 8.000000

6 9/6 12 10.333333

你也可以使用fill和align参数


rollmean(DF$value, 3, fill = NA, align = "right")

也可使用 rollmeanr(df$value, 3, fill = NA)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:如何使用 平均值 Library value align

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 23:35