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

如何向空向量中追加符合条件的值?

问题原因及解决方法

你的代码问题在于没有将ifelse的返回值赋值给dif,同时append函数不会直接修改原向量——它会生成一个新向量,必须把这个新向量重新赋值给dif才能更新变量。

修正后的代码

方式一:用ifelse赋值

dif <- c()

# 将ifelse的返回值赋值给dif
dif <- ifelse(10 > 5, 
              append(dif, "2"),
              append(dif, "error")
)

dif

方式二:用普通if/else(更直观)

因为这里是单条件判断,用常规的if/else可读性更强:

dif <- c()

if (10 > 5) {
  dif <- append(dif, "2")
} else {
  dif <- append(dif, "error")
}

dif

原理说明

R是函数式编程语言,大部分函数不会直接修改输入的对象,而是返回一个新对象。你原来的代码里,append(dif, "2")确实生成了包含"2"的新向量,但这个向量没有被保存,原dif变量依然是初始的空向量,所以最后输出dif还是NULL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:20:27