我有 2 個串列:
>logical.list
$mask1
[1] TRUE FALSE TRUE
$mask2
[1] FALSE TRUE FALSE
>work.list
$vector1
[1] "a" "b" "c"
$vector2
[1] "d" "e" "f"
我想使用第一個(logical.list)作為掩碼從work.list中提取下一個輸出:
>output.list
$vector1
[1] "a" "c"
$vector2
[1] "e"
是否有避免回圈、lapply 等的優雅決定?
uj5u.com熱心網友回復:
用 提取Map。
Map(`[`, work.list, logical.list)
# $vector1
# [1] "a" "c"
#
# $vector2
# [1] "e"
資料:
logical.list) <- list(mask1 = c(TRUE, FALSE, TRUE), mask2 = c(FALSE, TRUE, FALSE
))
work.list <- list(vector1 = c("a", "b", "c"), vector2 = c("d", "e", "f"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435231.html
上一篇:C#基于元素型別過濾的物件樹
