R dplyr 修改值-替换值
Posted arcserver
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R dplyr 修改值-替换值相关的知识,希望对你有一定的参考价值。
有这么个需求:我有许多列,我打算找到某一列等于某个值,同时另外一列中等于某个值,这样的多个条件筛选的行,并替换筛选出来的这些这些值,显然使用dplyr包是最好的选择,因为速度快的飞起,即使我的数据有几百万行
代码如下:
df.v %>% filter(to.x == 999, to.y==999) %>%
select(cnt,min ,max ,v_0.1,v_0.5,v_1) %>%
replace(values = -2)
这样就把符合条件(to.x == 999, to.y==999)的所有行都挑出来了,但是只select了目标列(cnt,min ,max ,v_0.1,v_0.5,v_1),这6列符合条件的值统一用replace函数替换为了-2值
df.v %>% filter(cnt == -1) %>%
select(cnt,min ,max ,v_0.1,v_0.5,v_1) * 0.9
上面的代码时筛选出符合条件的所有行,然后找到打算替换的部分列,直接数学运算,乘以固定数0.9,这样就对这些选择了的值直接计算完毕了。
以上是关于R dplyr 修改值-替换值的主要内容,如果未能解决你的问题,请参考以下文章
R语言dplyr包na_if函数根据条件将数据对象替换为NA值实战
R语言dplyr包将dataframe中的NA值替换(replace)为0实战:所有NA值替换(replace)为0具体列的NA值替换(replace)为0若干列的NA值替换(replace)为0
R语言dplyr包mutate_if函数修改所有满足条件的数据列的内容实战