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

如何在R语言循环中保存自定义函数输出的字符串至向量?

错误原因

  • salaryCategory函数未设置正确的返回值逻辑。你使用的print()仅会将内容输出到控制台,并不会将分类字符串作为函数返回值传递给赋值对象。同时函数内使用四个独立的if判断,最终默认返回的是最后一个if语句的执行结果,当最后一个if的判断条件不满足时会返回NULL,导致j无法存储到正确值。
  • 独立if的判断逻辑存在冗余,也容易触发多条件匹配的问题。

修复方案

1. 重写salaryCategory函数,添加返回值

salaryCategory = function(s){
  if(s >= 40000 && s < 70000) {
    return("Low")
  } else if(s >= 70000 && s < 100000) {
    return("Medium")
  } else if(s >= 100000 && s < 140000) {
    return("High")
  } else {
    return("Invalid")
  }
}

2. 运行原有循环即可得到预期结果

k = c(500000,75000,100000,42000)
j = c()
for (i in 1:length(k)) {
  j[i] = salaryCategory(k[i])
}

运行后j的值就是你期望的c("Invalid","Medium","High","Low")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:45:02