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

如何直接操作myvec与all_variable为缺失命名元素填充0?

解决方法

这里提供两种直接操作myvec和all_variable的简洁方法:

方法一:初始化全0向量后替换匹配值

这是最直观的实现方式,先创建以all_variable为命名、值全为0的向量,再将myvec中存在的对应命名位置替换为myvec的取值:

# 初始化全0向量,命名为all_variable的元素
result <- setNames(rep(0, length(all_variable)), all_variable)
# 将myvec中存在的命名位置替换为对应值
result[names(myvec)] <- myvec

# 查看结果
result
#> a b d 
#> 0 1 0 

方法二:利用match函数一次性构造

通过match函数匹配all_variable和myvec的命名,对匹配不到的位置填充0:

result <- setNames(
  ifelse(is.na(match(all_variable, names(myvec))), 0, myvec[match(all_variable, names(myvec))]),
  all_variable
)

# 查看结果
result
#> a b d 
#> 0 1 0 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:32:01