我有tbl_df几个专栏.我正在运行一个简单的mutate来更新列,但该列没有更新.
mutate(fltr, cat = "xxxxx")
Run Code Online (Sandbox Code Playgroud)
cat是一列empty或者是NA.过滤器是一个tbl_df.可能是什么导致了这个?我试图将文本放在cat列中,以便它不是空的或NA,以防引起问题.那还是行不通的.
mutate不会更改tbl_df,它只返回新的,更改的tbl_df.您需要保存结果:
fltr <- mutate(fltr, cat = "xxxxx")
Run Code Online (Sandbox Code Playgroud)
正如@DavidRobinson指出的那样,你没有将它分配回同一个对象.为了避免重新分配,我们可以使用magrittr的复合赋值管道运算符 - %<>%:
require(dplyr)
require(magrittr)
fltr %<>% mutate(cat="xxxxx")
Run Code Online (Sandbox Code Playgroud)