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

R语言如何实现A列满足条件时C列返回B列对应值(mtcars示例)

R语言实现mtcars数据集的条件列赋值

直接用R基础语法就能完成,不需要依赖第三方包,操作步骤如下:

  • 首先执行要求的初始化操作,加载内置数据集并创建初始值为NA的want列:
data(mtcars)
mtcars$want <- NA
  • 核心赋值逻辑通过行索引实现:筛选carb列值等于1的行,将对应行的qsec值赋值给同位置的want列,不满足条件的行会保留初始NA值,不会被修改:
mtcars$want[mtcars$carb == 1] <- mtcars$qsec[mtcars$carb == 1]

结果校验

执行完上述代码后,查看数据集前5行,输出和预期示例完全匹配:

mpg cyl disp  hp drat    wt  qsec vs am gear carb  want
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4    NA
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4    NA
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1 18.61
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1 19.44
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2    NA

如果习惯用tidyverse生态的写法,也可以用dplyr::mutate配合ifelse实现,但基础R写法无额外依赖,适配所有R环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:45:37