R语言中循环遍历数值计算泊松分布无输出的问题求助
解决R语言循环中泊松分布计算结果不显示的问题
你的代码里dpois(i, 2/3)确实在执行计算,但R默认不会主动打印循环内部函数的返回值——这就是为什么换成print()能看到输出,因为print()本身就是用来输出内容的。
给你三种可行的解决办法:
1. 在循环中直接打印结果
直接把dpois的结果传给print(),就能在每次循环时输出计算值:
for (i in 0:3) { print(dpois(i, 2/3)) }
2. 把结果存储到向量中(推荐)
如果需要后续使用这些结果,先创建一个空向量,将每次的计算结果存进去,最后统一查看:
# 初始化一个长度为4的空数值向量 pois_results <- numeric(4) for (i in 0:3) { # R的向量索引从1开始,所以用i+1对应位置 pois_results[i + 1] <- dpois(i, 2/3) } # 查看所有结果 pois_results
3. 用向量化操作替代循环(更简洁)
R的很多统计函数都支持直接传入向量参数,完全不需要循环,一行代码就能得到所有结果:
dpois(0:3, 2/3)
内容的提问来源于stack exchange,提问作者dkd6
相关产品推荐
相关产品推荐

