dplyr在适当位置发生突变

dplyr在适当位置发生突变,r,dplyr,R,Dplyr,这是我的例子 library('dplyr') a <- c(0.2,1.3) df_test <- data.frame(a) df_test %>% mutate(a =round(a,0)) ,但不更改原始数据帧df_test。如何将mutate的结果分配给同一数据帧?我们可以使用magrittr中的%%复合分配运算符进行就地更改 library(magrittr) df_test %<>% mutate(a = round(a,0))

这是我的例子

library('dplyr')
a <- c(0.2,1.3)
df_test <- data.frame(a)
df_test %>% mutate(a =round(a,0))
,但不更改原始数据帧
df_test
。如何将mutate的结果分配给同一数据帧?

我们可以使用
magrittr
中的
%%
复合分配运算符进行就地更改

library(magrittr)
df_test %<>% 
        mutate(a = round(a,0))

df_测试%mutate(a=round(a,0))
?@Axeman,谢谢!!!你应该从阅读一些R教程开始。这里真的没有与dplyr相关的内容。@Davidernburg,我阅读了2个R教程,我很难理解R。因此,当您使用Python或任何其他语言时,是否有对象在不使用
=
运算符的情况下自动更新?我知道,在pandas中,您可以显式地指定
inplace=True
,但我不明白为什么您会认为这是dplyr的默认行为,即使如此,为什么您至少不尝试使用
=

library(magrittr)
df_test %<>% 
        mutate(a = round(a,0))
library(data.table)
setDT(df_test)[, a := round(a,0)]