r - 应用两个元素的函数
问题描述
假设我有一个x_n
大小为 n 的向量,我想对除第一个元素之外的每个元素应用一个函数,这取决于前一个元素 f(x_i, x_(i-1)),如何在不循环的情况下完成?
解决方案
那这个呢?但正如@RLave 所指出的,这*apply
只是一个变相的循环:
my_fun<- function(i, x) {
if(i == 1){
return(x[i])
} else {
return(x[i] + x[i-1])
}
}
x_n<- c(10, 20, 30, 40 ,50)
sapply(1:length(x_n), my_fun, x_n)
[1] 10 30 50 70 90
推荐阅读
- javascript - 基于另一个数组中的排序号的数组排序
- javascript - 适用于所有数值数组类型的 TypeScript 函数
- php - 将数组索引和值分配给输入 - Jquery
- c# - TCP 和 UDP 连接
- c# - C#,在 DAL 项目的方法中访问 DbContext
- python - 饼图创建问题
- javascript - 实时数据显示在highcharts
- image - 从图像加载单个像素而不加载整个图像
- blackberry - 模块尝试访问安全 API - BlackBerry WebWorks Development
- microsoft-graph-api - Microsoft Graph API:设置常规通道设置