我经常需要手动清理数据集中的条目。为了灵活性和可读性,我喜欢使用管道。有时我后来遇到了我需要清理的另一件事,所以我在magrittr
管道中保留了一个可以复制粘贴的线。
在ggplot2
中,最后调用一个空的theme()
有助于我保持编码灵活性以便以后添加。我从未遇到过这方面的问题,并且认为我可以在管道中对return()
做同样的事情。
我认为return()
不是要使用外部函数,所以:是否有一种可以想象的方式可能会破坏我的代码?
我也偶然发现了{.}
和另一种选择,但我真的不知道它的作用和搜索信息(即使在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() #
注意:我意识到这是标签“编码风格”的边缘,所以我想指出我对基于意见的讨论不感兴趣,但建议如果这可能在某些情况下破坏我的代码。欢迎使用破坏代码的示例,以及其他建议。
我认为这些主题/主题是相关的:
正如@Roland和@RolandASc所提出的那样:?identity()
正在做我想做的事。我从那以后一直在使用它,到目前为止还没有遇到任何意外。
在RStudio社区的here上发现了进一步的相关讨论。