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

如何在R语言的for循环中正确使用索引值?

问题解决方法

错误原因分析

第一个报错Error in i(i + 1) : could not find function "i",是因为R语言中乘法必须显式使用乘号*。你写的i(i+1)会被R解释为「调用名为i的函数,传入参数i+1」,但i只是循环变量,不是函数,所以触发错误。你尝试用[i]的操作属于误用,这里根本不需要方括号,是无效修改。

正确代码实现

方法1:修正循环版本

补上乘法的乘号即可:

Multiplier <- numeric(200)
for (i in 1:200) Multiplier[i] <- 1/sqrt(i * (i + 1))

方法2:推荐用向量化操作(更高效简洁)

R是向量优先的语言,向量化操作比循环更高效,代码也更短:

n <- 1:200
Multiplier <- 1/sqrt(n * (n + 1))

内容的提问来源于stack exchange,提问作者Jeffrey Grueneberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:25:41