r - R函数,给定输入将其用于将来的计算
问题描述
对于我的项目,我需要一些我在谷歌上找不到的帮助。是否有代码将命令链的起始值(上一个输出(使用移位函数)*值(来自另一列)=输出)设置为 1,以便下一个命令具有上一个输出以返回上,启动链?无论我尝试过什么,设置第一行 = 1 等,都没有奏效...... :(
非常感谢你的帮助,
费迪南德
有关更多详细信息:在梦境中,第 1 行的 Debt$returnp 将为 1,第 2 行的输出将为第 1 行 (1) * Debt$return (1.015),以此类推,以此类推。有人会知道一串代码可以做到这一点吗? https://i.stack.imgur.com/w2vFW.jpg
解决方案
基于上面的评论并对你想要达到的目标做出一些假设,这对你有什么作用:
library(purrr)
library(dplyr)
values <- c(2,4,6,10)
purrr::reduce(
.x = values,
.f = function(state, input){return(c(state, input*dplyr::last(state)))},
.init=1
)[-1] # the [-1] is just there to remove the initial value from your output
// 更新:
这应该使上面的内容适应您在屏幕截图中显示的内容:
library(tibble)
library(purrr)
library(dplyr)
Debt <- tibble(
# Week, debt, Date, Diff, Perf
return = c(NA_real_, 1.015, 1.092, 1.005)
) %>%
mutate(
returnp = purrr::reduce(
.x = return[-1], # start with the second entry and skip that initial <NA>
.f = function(state, input){return(c(state, input*dplyr::last(state)))},
.init = 1
)
)
推荐阅读
- python - 最近 ImageAI 更新后自定义对象检测训练期间几乎没有 GPU 使用
- python - Django ORM 获取 cx_Oracle.DatabaseError: ORA-00933: SQL 命令未正确结束
- django - 设置两个媒体目录
- angular - 包含在材质对话框中使用的组件的正确方法是什么(Angular with Ivy)
- highcharts - 使用 pointFormatter 时如何在 HighCharts 工具提示中隐藏系列名称
- java - 在 IntelliJ 中使用 SimpleEmail 从命令行失败
- c++ - boost::asio::read_some 在没有轮询的情况下完成后从主线程读取完成时如何同步?
- javascript - RxJS 过滤/分组去抖动
- api - 是否可以根据提交的答案更新谷歌表单问题?
- javascript - 使用 JavaScript 循环浏览本地存储的 HTML 视频