[英]Tidyverse Solution for Using Tibble Columns as Input to a Function
我試圖在一個tibble中的兩個列向量的組合上運行一個函數。
library(tidyverse)
combination <- tibble(x = c(1, 2), y = c(3, 4))
sum_square <- function(x, y) {
x^2+y^2
}
我想運行此函數列x和列y的所有組合:
sum_square(1, 3)
sum_square(1, 4)
sum_square(2, 3)
sum_square(2, 4)
理想情況下,我想要一個整合的解決方案。
我們可以先expand
然后在擴展數據集上應用sum_square
library(tidyverse)
expand(combination, x, y) %>%
mutate(new = sum_square(x, y))
# A tibble: 4 x 3
# x y new
# <dbl> <dbl> <dbl>
#1 1 3 10
#2 1 4 17
#3 2 3 13
#4 2 4 20
另一種選擇是outer
combination %>%
reduce(outer, FUN = sum_square) %>%
c %>%
tibble(new = .)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.