【发布时间】:2015-09-18 15:22:33
【问题描述】:
我已经能够使用 .dots 和 _ 变量将参数传递给dplyr。但是,这种方法在这里似乎不起作用。我已经搜索了其他类似的问题,但我还没有找到一个可靠的解决方案。
工作示例
library(tidyr)
library(dplyr)
mtcars$brand<-row.names(mtcars)
mtcars_new<-mtcars %>%
mutate(brand = strsplit(brand," "))
mtcars_new$brand<-sapply(mtcars_new$brand, "[", 1)
尝试传入变量 -- 失败
target<-names(mtcars)[length(mtcars)]
mtcars_new<-mtcars %>%
mutate(target = strsplit(target," "))
mtcars_new[length(mtcars)]<-sapply(mtcars_new[length(mtcars)], "[", 1)
感谢您的宝贵时间!
【问题讨论】:
-
等等,你在哪里使用 tidyr?
-
在我使用的函数中,根据变异的结果,我使用 unnest() 逐行转换结果
-
我还是不明白这与这里的问题有什么关系。
-
不使用 sapply,使用 unnest() 会导致错误。我相信 unnest 只是在 tidyr 而不是 dplyr? unnest 将在第一个示例中起作用,但在第二个示例中不起作用——如果我不清楚,我深表歉意。从我调试 unnest 的时间来看,它在参数/变量传递给它的方式上似乎与 dplyr 不同......这不是真的吗?
-
@akrun 成功了,谢谢!如果我的问题只是与 dplyr 相关,我深表歉意。我试图进一步编辑我的问题以避免混淆