变异函数不更新

mutate function is not updating

我有一个包含多个列的 tbl_df。我 运行 对其进行了简单的修改以更新列,但该列未被更新。

mutate(fltr, cat = "xxxxx")

catemptyNA 的列。过滤器是 tbl_df。是什么原因造成的?我试图将文本放在 cat 列中,以便它不是空的或 NA 以防引起问题。那还是不行。

mutate 并没有改变 tbl_df,它只是 returns 新的,改变了 tbl_df。您需要保存结果:

fltr <- mutate(fltr, cat = "xxxxx")

正如@DavidRobinson 所指出的,您没有将它分配回同一个对象。为了避免重新分配,我们可以使用 magrittr 的 复合分配管道运算符 - %<>% :

require(dplyr)
require(magrittr)

fltr %<>% mutate(cat="xxxxx")

Mu​​tate 是向现有数据框添加新列(即现有列的函数)。 在这里,您希望将静态列添加到数据框中,我认为您不需要为此进行突变。你可以像这样简单地实现:

fltr$cat <- "xxxxx"

但如果您想在现有列的基础上添加新列,您可以这样做:

fltr <- 变异(fltr, cat = "write your logic of converting column A to column B eg : Col_A/100")

此处 "cat" 将是您创建的列的名称。