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

在R中使用data.table更新含空格列名的数据框值无需重命名可行吗?

无需重命名直接更新带空格列名的方法

当然可以不用来回重命名,直接操作带空格的列名就行。data.table支持用反引号``包裹含空格的列名,还能一次性批量更新多列,简化你的代码:

# 将数据框转为data.table(如果还没转的话)
setDT(In)
setDT(trqs)

# 一次性完成多列更新,直接使用带空格的原列名
In[trqs, on = c("TL", "TLS"), `:=`(
  `AV Duty Rate` = i.`AV Duty Rate`,
  `Specific Duty Rate` = i.`Specific Duty Rate`,
  `Duty Nature` = i.`Duty Nature`
)]

关键说明:

  • 用反引号``把带空格的列名括起来,data.table就能正确识别这类特殊列名
  • 借助:=的批量赋值语法,只需要写一次join条件(on = c("TL", "TLS"))就能完成多列更新,比原来重复三次join的代码更高效
  • 右边的i.前缀代表取关联表trqs中的对应列,和你原来的更新逻辑完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:02:38