將函數應用於兩個列表元素的每個組合

MYASEEN208

我想對兩個列表元素的每個組合應用一個函數。

library(tidyverse)

map(
    .x = c(0, 1)
  , .f = function(x) {
    qnorm(p = 0.05, mean = x, sd = 1, lower.tail = FALSE)
  }
)

[[1]]
[1] 1.644854

[[2]]
[1] 2.644854


map(
    .x = c(0, 1)
  , .f = function(x) {
    qnorm(p = 0.05, mean = x, sd = 2, lower.tail = FALSE)
  }
)


[[1]]
[1] 3.289707

[[2]]
[1] 4.289707

現在嘗試將兩者合二為一(無論如何都沒有獲得所需的輸出)。

map2(
    .x = c(0, 1)
  , .y = c(1, 2)
  , .f = function(x, y) {
    qnorm(p = 0.05, mean = x, sd = y, lower.tail = FALSE)
  }
)

[[1]]
[1] 1.644854

[[2]]
[1] 4.289707

想知道如何獲得所有四種組合的輸出?

阿克倫

或另一種選擇pmapcrossing

library(tidyr)
library(purrr)
library(dplyr)
crossing(v1 = 0:1, v2 = 1:2)  %>% 
   pmap_dbl(~ qnorm(p = 0.05, mean = ..1, sd = ..2, lower.tail = FALSE))
[1] 1.644854 3.289707 2.644854 4.289707

如果我們需要一個 data.frame/tibble,使用裡面的pmap代碼mutate作為一個新列返回

crossing(v1 = 0:1, v2 = 1:2) %>%
    mutate(new =  pmap_dbl(., ~ qnorm(p = 0.05, 
       mean = ..1, sd = ..2, lower.tail = FALSE)))
# A tibble: 4 × 3
     v1    v2   new
  <int> <int> <dbl>
1     0     1  1.64
2     0     2  3.29
3     1     1  2.64
4     1     2  4.29

注意:如果我們不需要其他列,使用transmute替代的mutate或指定.keep = "used"mutate

crossing(v1 = 0:1, v2 = 1:2) %>%
    mutate(new =  pmap_dbl(., ~ qnorm(p = 0.05, 
        mean = ..1, sd = ..2, lower.tail = FALSE)), .keep = "used")
# A tibble: 4 × 1
    new
  <dbl>
1  1.64
2  3.29
3  2.64
4  4.29

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

二元運算符“+=”不能應用於兩個“CGPoint”操作數

將每兩個相等的元素合併成另一個

如何將函數應用於數據幀,然後應用於數據幀列表?

將 lambda 函數中的多個條件應用於多列的問題

將函數應用於 csv 文件中的每一行

如何將兩個模型應用於一個視圖?

將兩個數組與子元素合併

Python Pandas 基於另一個對應數據框合併兩個數據框

如何將每個數組元素插入另一個數組中的每個其他元素?

將一些操作 F 應用於網格的每個元素?- 哈斯克爾

從列表元素創建多個向量並在 R 中應用函數?

獲取應用函數 Pandas 中的第一個列表元素

組合函數的兩個參數

如何將兩個數組合併為模型數組?

用於將函數應用於 Pandas DataFrame 中的每一行的應用函數的替代方法

對來自兩個列表的對應用二元函數

將自定義函數應用於整個數據框

將兩個數組合併為一個對象

將兩個列表相乘,但將第一個列表中的每個數字乘以 Python 中第二個列表中的所有數字

如何將具有兩個屬性的對像數組減少為兩個數組,每個屬性一個?

對每個組應用一個函數

在 pyspark 數據框中每 60 行應用一個函數

打字稿:如何將相同的函數應用於不同類型的數組

使用 dplyr 將函數應用於數據集的每組

如何將函數應用於每個組

將兩個對應的數組元素相加並返回結果數組

將函數應用於數據集中的一組列

Pandas 如何應用帶有兩個參數的函數

將函數應用於文件並輸出到數據幀的各個行