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

如何在R语言的for循环中遍历两个向量计算标准差并输出?

修复后的R代码及解释

原代码存在几个关键问题,以下是修改后的可运行版本,同时说明问题所在:

问题分析

  • 原代码中vects <- c(vectA,vectB)会将两个向量合并为一个长度为6的单一向量,无法保留两个独立的向量对象
  • 未定义变量scale_vars,循环迭代对象错误
  • print函数用法错误,R中不能直接传入多个字符串参数,需要用paste拼接
  • R中没有std()函数,计算标准差的正确函数是sd()
  • 原代码仅调用标准差函数但未打印结果

修复后的代码

vectA <- c(1,6,7)
vectB <- c(8,9,11)
names <- c('A', 'B')
# 将向量存入列表,保留独立的向量对象
vects <- list(vectA, vectB)

for (i in seq_along(names)) {
    # 拼接提示字符串并打印
    print(paste("Calculating for", names[i]))
    # 计算并打印标准差
    result <- sd(vects[[i]])
    print(paste("Standard deviation for vector", names[i], "is:", round(result, 2)))
}

运行结果

运行上述代码会输出:

[1] "Calculating for A"
[1] "Standard deviation for vector A is: 3.06"
[1] "Calculating for B"
[1] "Standard deviation for vector B is: 1.53"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:01:02