在 magrittr 管道之后使用 return() 来写入对象会破坏某些东西吗?
Can the use of return() after a magrittr pipeline to write an object break something?
我经常需要手动清理数据集中的条目。
为了灵活性和可读性,我喜欢使用管道。
有时我后来遇到另一件事我需要清理,所以我在我的 magrittr
管道中保留了一个可复制粘贴的行。
在 ggplot2
中,在末尾调用一个空的 theme()
有助于我保持编码的灵活性,以便以后添加。我从来没有遇到过问题,并且认为我可以在管道中对 return()
做同样的事情。
我认为 return()
不应该使用外部函数,所以:是否有可能破坏我的代码的可能方法?
我也偶然发现了 {.}
ans 一个替代方案,但我真的不知道它的作用和搜索信息(甚至使用 SO 上的高级搜索)也无济于事。
示例:
starwars %<>%
mutate(hair_color = ifelse(name == "Captain Phasma", "blond", hair_color)) %>%
mutate(skin_color = ifelse(name == "Captain Phasma", "fair", hair_color)) %>%
mutate(hair_color = ifelse(name == "Zam Wesell", "blond", hair_color)) %>%
#mutate(var = ifelse(name == "cond", "replacement", var)) %>% ### for future c/p
return() #
注意:我意识到这是标记 "coding-style" 的边界,所以我想指出我对基于意见的讨论不感兴趣,但如果这会破坏我的代码,请提出建议某些情况下。欢迎使用它确实破坏代码的示例,以及其他建议。
我认为这些 topics/threads 是相关的:
- https://github.com/tidyverse/magrittr/issues/32
- how to feed the result of a pipe chain (magrittr) to an object
正如@Roland 和@RolandASc 提出的那样:?identity()
正在做我想做的事。从那以后我就在使用它,到目前为止还没有遇到过惊喜。
在 RStudio 社区 here 上找到了进一步的相关讨论。
我经常需要手动清理数据集中的条目。
为了灵活性和可读性,我喜欢使用管道。
有时我后来遇到另一件事我需要清理,所以我在我的 magrittr
管道中保留了一个可复制粘贴的行。
在 ggplot2
中,在末尾调用一个空的 theme()
有助于我保持编码的灵活性,以便以后添加。我从来没有遇到过问题,并且认为我可以在管道中对 return()
做同样的事情。
我认为 return()
不应该使用外部函数,所以:是否有可能破坏我的代码的可能方法?
我也偶然发现了 {.}
ans 一个替代方案,但我真的不知道它的作用和搜索信息(甚至使用 SO 上的高级搜索)也无济于事。
示例:
starwars %<>%
mutate(hair_color = ifelse(name == "Captain Phasma", "blond", hair_color)) %>%
mutate(skin_color = ifelse(name == "Captain Phasma", "fair", hair_color)) %>%
mutate(hair_color = ifelse(name == "Zam Wesell", "blond", hair_color)) %>%
#mutate(var = ifelse(name == "cond", "replacement", var)) %>% ### for future c/p
return() #
注意:我意识到这是标记 "coding-style" 的边界,所以我想指出我对基于意见的讨论不感兴趣,但如果这会破坏我的代码,请提出建议某些情况下。欢迎使用它确实破坏代码的示例,以及其他建议。
我认为这些 topics/threads 是相关的:
- https://github.com/tidyverse/magrittr/issues/32
- how to feed the result of a pipe chain (magrittr) to an object
正如@Roland 和@RolandASc 提出的那样:?identity()
正在做我想做的事。从那以后我就在使用它,到目前为止还没有遇到过惊喜。
在 RStudio 社区 here 上找到了进一步的相关讨论。