次のようなリストがあります。
what_i_have <- list(A = LETTERS[1:6], B = LETTERS[1:6], C = LETTERS[2:7])
そのリスト要素の名前に従って各ベクトルから要素を削除したいので、次のようになります。
what_i_want <- list(A = LETTERS[2:6], B = LETTERS[c(1, 3:6)], C = LETTERS[c(2,4:7)])
i_have_this
に到達するには、どのような操作を行うことができi_want_this
ますか?
を使用して同じ構造の論理ベクトルのリストを取得することまではできましたpurrr::map2(what_i_have, names(what_i_have), function(x, y) x == y)
が、サブセット化しようとすると私の脳は過負荷になりwhat_i_have
ます。
私は何が欠けていますか?手伝ってくれますか?
tidyverse (またはベース R) ソリューションのボーナス ポイント。
library(testthat)
test_that("Turn what I have into what I want", {
expect_equal(what_i_have, what_i_want)
})
ご協力ありがとうございました。