(d)plyr中的mutate()在sourced时不会创建新列

时间:2014-04-04 15:34:55

标签: r plyr dplyr

我正在使用带有R的包dplyr(同样的问题也适用于plyr)。当我将source("dply_problem.R")调用以下代码

library("dplyr")

df <- data.frame("A" = 1:6,
                 "B" = 7:12)
mutate(df, C = A + B)

列“C”未添加到df。但是,当我从shell调用mutate(df, C = A + B)时,会创建“C”列。你能给我一个暗示为什么会这样吗?

2 个答案:

答案 0 :(得分:12)

您尚未将输出分配给任何内容。尝试:

library("dplyr")

df <- data.frame("A" = 1:6,
                 "B" = 7:12)
df <- mutate(df, C = A + B)

df

答案 1 :(得分:0)

这也可以使用管道运算符来完成。 dplyr从另一个包(magrittr)导入此运算符

library(dplyr)
df <- data.frame("A" = 1:6,
                 "B" = 7:12)
df1<- df %>% mutate(C = A + B)