作为简单的例子,我想计算两个向量的矩阵乘积。
a <- tibble(n=c("A", "B"), y=c(10,20))
b <- tibble(x=c(5, 15))
res <- a %>%
mutate(rotated = map2(y, b, ~ .x %*% .y)) %>%
unnest(rotated)
一切似乎都很好,但我希望在解除嵌套后,小标题应该是 2x4 小标题,但我仍然有一个 2x3 小标题,例如
n y rotated[,1] [,2]
<chr> <dbl> <dbl> <dbl>
1 A 10 50 150
2 B 20 100 300
检查后
res$rotated
我会得到错误
Error in if (nchar(current) > nchars) { :
missing value where TRUE/FALSE needed
还有
的答案与
bind_cols
并不能解决问题。
感谢您的任何提示
或许你可以尝试一下
a %>%
mutate(rotated = data.frame(do.call(rbind, map2(y, b, ~ .x %*% .y)))) %>%
unnest_wider(rotated)
这给出了
# A tibble: 2 × 4
n y X1 X2
<chr> <dbl> <dbl> <dbl>
1 A 10 50 150
2 B 20 100 300