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

如何编写R函数将数据框中接近零的值置零并保留其余值

解决方案

你可以用dplyr的mutate()配合条件判断函数实现需求,以下是两种简洁的实现方式:

方法1:使用case_when()(逻辑清晰,适配多场景)

library(dplyr)
set.seed(2)
D = data.frame(from = runif(40, -1,1), to = runif(40,-1,1)) %>% 
  mutate(weight = from + to) %>%
  mutate(weight = case_when(
    abs(weight) <= 0.3 ~ 0,
    TRUE ~ weight
  ))

方法2:使用ifelse()(单一条件下更简洁)

library(dplyr)
set.seed(2)
D = data.frame(from = runif(40, -1,1), to = runif(40,-1,1)) %>% 
  mutate(weight = from + to) %>%
  mutate(weight = ifelse(abs(weight) <= 0.3, 0, weight))

关键说明

  • abs(weight) <= 0.3用于判断weight是否处于-0.3到0.3的区间内(包含边界值)
  • 满足条件时将weight置为0,不满足则保留原始数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:45:34