gpt4 book ai didi

r - purrr 语法和 map_depth

转载 作者:行者123 更新时间:2023-12-04 10:41:16 26 4
gpt4 key购买 nike

我试图在没有管道的情况下使用 purrr 以获得语法的一致性。但是我遇到了以下问题,以相同深度提取列表元素

## Example of a list

Henry_VIII <- list(name="Henry Tudor",DOB=as.Date("28 June 1491", format=("%d %B %Y")),place_of_birth="Palace of Placentia, Greenwich, Kent",
DOD=as.Date("28 January 1547", format=("%d %B %Y")),place_of_death="Palace of Whitehall, London")


Catherine_of_Aragon <- list(name="Catherine of Aragon", marriage_date=1509, end_date=1533, end_cause="annulled")
Anne_Boleyn <- list(name="Anne Boleyn", marriage_date=1533, end_date=1536, end_cause="executed")

Henry_VIII <- list(name="Henry Tudor",DOB=as.Date("28 June 1491", format=("%d %B %Y")),place_of_birth="Palace of Placentia, Greenwich, Kent",
DOD=as.Date("28 January 1547", format=("%d %B %Y")),place_of_death="Palace of Whitehall, London", marriages=list(Catherine_of_Aragon,Anne_Boleyn))


sapply(1:length(Henry_VIII$marriages), function(x) Henry_VIII$marriages[[x]]$end_cause) ##works fine

Henry_VIII$marriages %>% map_depth(1,4) ## also works fine

但是,以下会引发错误
purrr::map(Henry_VIII$marriages, c(1,4))

我应该只使用管道,还是我遗漏了明显的语法错误?

最佳答案

您没有指定您需要应用的功能,即

purrr::map(Henry_VIII$marriages, `[[`, 4)
#Similar to
#purrr::map(Henry_VIII$marriages, ~.x[[4]])

#[[1]]
#[1] "annulled"

#[[2]]
#[1] "executed"

或者,在这种情况下, map_chr会更好?
purrr::map_chr(Henry_VIII$marriages, `[[`, 4)
#[1] "annulled" "executed"

关于r - purrr 语法和 map_depth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59920038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com