【发布时间】:2018-10-03 11:34:32
【问题描述】:
如何在列上设置条件变异,但保留原始内容。
例如,考虑:
DF=data.frame(A=1:10, B=c("fail1", "fail2", rep(NA,8)))
DF=DF %>% mutate(B = ifelse(A<4,paste(B, "less than 4"),B))
我想要的是产生以下内容:
DF_want=data.frame(A=1:10, B=c("fail1 less than 4", "fail2 less than 4", "less than 4", rep(NA,7)))
但是因为我直接调用列B,而不是B 中的特定行,所以这不会发生。
【问题讨论】:
-
@snoram 那行不通;请看下面我的回答
-
@duckmayr 我们显然正在将不同的内容读入操作人员正在寻找的内容中。我虽然关键是
preserving the original content. -
@snoram 这也是我最初阅读问题文本时的想法(这是对文本部分最自然的阅读),但是当您运行他们发布的代码时问题变得清晰起来查看发布的预期输出。
标签: r if-statement conditional-statements tidyverse dplyr