编织R文档报错:object 'AVG' not found 问题求助
问题分析与解决
核心问题:未预先初始化向量
AVG
虽然R支持通过AVG[i] <- ...的方式动态创建向量,但在文档编织(如knitr)的环境中,这种操作可能因环境作用域限制,导致后续代码无法识别AVG对象。稳妥的做法是提前创建对应长度的空向量。次要问题:变量赋值写法不规范
你用"SD" <- sd(AVG)的方式赋值完全没必要,直接写SD <- sd(AVG)即可,带引号的写法容易引发不必要的作用域问题。
修正后的代码
方式一:预先初始化向量后循环
# 先创建长度为30的空数值向量 AVG <- numeric(30) for (i in 1:30) { AVG[i] <- mean(rnorm(100)) } SD <- sd(AVG) print(SD)
方式二:用sapply替代循环(更简洁的R风格写法)
AVG <- sapply(1:30, function(x) mean(rnorm(100))) SD <- sd(AVG) print(SD)
这样修改后,AVG能被后续代码正确识别,不会再出现"object 'AVG' not found"的错误。
内容的提问来源于stack exchange,提问作者Dee
相关产品推荐
相关产品推荐

