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

R中是否有函数可对列每值与固定数取min并生成新列?

完全不需要用循环或者lapply/rapply,直接用向量化操作就能实现,效率更高,代码也更简洁。

R语言内置的pmin()函数就是专门处理这种「多组值按对应位置取最小值」的需求,你要的效果一行代码就能搞定:

# 构造示例输入数据
df <- data.frame(Column = c(1, 2, 3))
# 指定对比阈值
threshold <- 2
# 直接生成新列
df$new_Column <- pmin(df$Column, threshold)

运行后df的输出结果完全符合预期:

Columnnew_Column
11
22
32

pmin是底层C实现的向量化函数,运算速度远高于R层面的循环或者apply族函数,数据量越大优势越明显。如果需要同时对多列做同逻辑处理,也可以直接传入多列数据批量操作,不用挨个写循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:09:01