You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中创建函数:接收n维向量并返回(x₁,x₂²,…,xₙⁿ)

在R语言中实现向量幂变换函数

要实现输入n维向量、返回(x₁, x₂², …, xₙⁿ)的函数,利用R的向量化特性可以简洁完成,无需显式循环。

核心实现

power_transform <- function(vec) {
  vec ^ seq_along(vec)
}

代码解释

  • seq_along(vec)会生成与输入向量长度一致的序列,元素从1开始递增(比如输入长度为4的向量,生成c(1,2,3,4))。
  • R的向量运算支持逐元素操作,vec ^ seq_along(vec)会将向量第i个元素与序列第i个元素做幂运算,直接得到目标变换后的向量。

测试示例

# 测试长度为4的向量
test_vec <- c(2, 3, 4, 5)
power_transform(test_vec)
# 输出结果:[1]   2   9  64 625

# 测试长度为1的向量
power_transform(c(10))
# 输出结果:[1] 10

# 测试空向量
power_transform(c())
# 输出结果:numeric(0)

增强健壮性(可选)

如果需要处理非数值输入的情况,可以添加类型检查:

power_transform <- function(vec) {
  if (!is.numeric(vec)) {
    stop("输入必须是数值型向量")
  }
  vec ^ seq_along(vec)
}

内容的提问来源于stack exchange,提问作者Ειρήνη Θεοδωροπούλου

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:35:15