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值实战

使用dplyr将R中的所有NA值替换为0

R语言dplyr包将dataframe中的NA值替换(replace)为0实战:所有NA值替换(replace)为0具体列的NA值替换(replace)为0若干列的NA值替换(replace)为0

R语言dplyr包mutate_if函数修改所有满足条件的数据列的内容实战

R语言dplyr包nthfirstlast函数获取向量特定值实战

R语言dplyr包对独特值(distinct)进行计数实战