r - 将列值放在滞后组合中
问题描述
我正在尝试解决数据帧中 f(t)=f(t-1)+f(t-2)+f(t-3).....+f(tn) 组合的问题。根据给定数据中的Target(f(t)) 列值,我必须能够将其余值放在后续列中。我需要一些 R 代码来实现这种组合。
我在代码和屏幕截图(输入)中提供了以下数据:
data<-data.frame(id=1:5,
target=c('b','a','c','d','e'),
col1=c('e','b','e','b','a'),
col2=c('d','e','a','c','d'),
col3=c('a','d','b','e','c'),
col4=c('c','c','d','a','b'))
output<-data.frame(id=1:5,
target=c('b','a','c','d','e'),
col1=c('e','b','a','c','d'),
col2=c('d','e','b','a','c'),
col3=c('c','d','e','b','a'),
col4=c('a','c','d','e','b'))
预期结果显示在屏幕截图(输出)中。
提前致谢...
解决方案
这是另一种base R
使用方法embed
data[3:6] <- head(embed(rep(data$target, 2), 4)[-1,], 5)
data
# id target col1 col2 col3 col4
#1 1 b e d c a
#2 2 a b e d c
#3 3 c a b e d
#4 4 d c a b e
#5 5 e d c a b
推荐阅读
- python - 激活 Anaconda 环境时出现“无效选择”
- python - 列表中元素的问题
- javascript - 日期选择器字段中的表单验证无法正常工作
- tensorflow - 使用 TFrecords 时如何设置 epoch?
- python - 运行创建许多文件的程序时偶尔返回“权限错误”
- sql - 如何解决此错误“除以零”
- angular - 使用 Angular 6、angular-oauth2-oidc 和 IdentityServer 3 返回 URL
- visual-studio-2017 - SSAS 表格 - 模型中的数据,但网格为空白
- google-chrome - 在 Chrome 中启用 MathML
- android - 在 Xamarin 中的登录按钮上实现 MVVM