【发布时间】:2020-05-19 10:11:19
【问题描述】:
目前 magrittr 管道的工作方式无法混合矢量级和表级操作。例如str_sub() 只接受一个向量,而mutate() 只接受一个表格。
如果您想在同一个管道中同时使用两者,唯一的选择是拆分管道或嵌套,这两种方法都会破坏管道:
##Multiple short operations and assignments:
iris$Species %<>% str_sub(.,1,-3)
iris %<>% mutate(., compliments=str_c("pretty"," ",Species))
##Multiple layers of nested functions
iris%>%mutate(.,
compliments=str_c(
"pretty",
" ",
str_sub(Species,1,-3)
)
)
我想要做的事情类似于下面的(非工作)示例。我发现的最接近的近似值是对mutate 的大量多余调用:
iris %>%
str_sub(.$Species,1,-3) %>%
mutate(., compliments=str_c("pretty"," ",Species))
【问题讨论】:
-
您共享的代码均无效。我不清楚你想做什么。你能解释一下吗?
-
Species 是小写的。我修正了错字并更改了示例管道,因此他们所做的更改更加明显。我要做的是第一个例子。