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

如何让R语言循环包含0值以生成完整的泊松估计向量?

解决方法

问题根源在于R的向量索引规则:R中向量的索引从1开始,当你用vec[val]且val=0时,这个索引无效,导致val=0的计算结果根本没被存入vec。

有两种简单的修复方式:

方式1:调整循环中的索引

先初始化一个长度和x一致的空向量,用val + 1作为索引(x从0开始,val+1正好对应1到23的有效索引):

x <- seq(0,22)
vec <- numeric(length(x))  # 初始化空向量,长度与x匹配
for (val in x) {
  vec[val + 1] <- dpois(val, 6.298387) * 124
}

这样val=0会对应vec[1],所有值都能被正确存入。

方式2:用向量化操作替代循环(更推荐)

R的统计函数天生支持向量输入,完全不需要写循环,直接一步到位:

x <- seq(0,22)
vec <- dpois(x, 6.298387) * 124

这种写法简洁高效,还从根源上避免了索引错误的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:24:30