我有一个3列40行的数据框。前两列包含从-1到1的值,第三列包含这两列的值之和。因此,我想将第三列中更接近零的值(如0.3、0.2、0.1、-0.1、-0.2、-0.3)更改为零,其余值保持不变。
library(dplyr) set.seed(2) D = data.frame(from = runif(40, -1,1), to = runif(40,-1,1)) %>% dplyr::mutate(weight = from + to)
谢谢你的帮助。
dwbf0jvd1#
使用replace,检查abs溶质值是否低于阈值:
replace
abs
thrs = 0.5 transform(D, weight = replace(weight, abs(weight) < thrs, 0))
或者在dplyr框架中:
dplyr
D %>% mutate(weight = replace(weight, abs(weight) < 0.5, 0))
1条答案
按热度按时间dwbf0jvd1#
使用
replace
,检查abs
溶质值是否低于阈值:或者在
dplyr
框架中: