我有一个案例,我想优化代码以使其更直接,并将lapply
结果的多个元素分配为tibble
.
我知道怎么做data.table
,我想要的程序是这样的:
data <- data.table(x=1:9)
data[, c("y","z") := lapply(2:3, function(p){ x^p })]
# x y z
#1: 1 1 1
#2: 2 4 8
#3: 3 9 27
#4: 4 16 64
#5: 5 25 125
现在,我想对dplyr
. 我已经尝试了一些替代方案:
data <- tibble(x=1:9)
data <- data %>%
mutate(c("y","z")=lapply(2:3, function(p){ x^p }))
但它出错了。