gpt4 book ai didi

r - 删除列表中所有子元素都存在的元素

转载 作者:行者123 更新时间:2023-12-04 13:31:14 25 4
gpt4 key购买 nike

在强制进入数据框之前,我遇到了要解析的列表。有时,我的列表中包含我不期望的元素。我希望能够按名称删除所有这些意外元素。这是一个带有wackything元素的列表的示例,我想删除它而不必调用元素索引或在每个子元素中使用for循环。

my_list <- list(person = list(name = "mike", phone = "111-1111"), 
person = list(name = "lisa", phone = "222-2222", wackything = "PLEASE REMOVE ME"),
person = list(name = "kimo", phone = "333-3333"))

我希望我的最终列表如下所示:
final_list <- list(person = list(name = "mike", phone = "111-1111"), 
person = list(name = "lisa", phone = "222-2222"),
person = list(name = "kimo", phone = "333-3333"))

这样我就可以使用
do.call(rbind, lapply(final_list, rbind))

最佳答案

我认为您的预期用途中有太多的框。看看这是否令人满意:

> rmwac <- function(x) x[ !names(x) %in% "wackything"]
> do.call(rbind, lapply(my_list, rmwac))
name phone
person "mike" "111-1111"
person "lisa" "222-2222"
person "kimo" "333-3333"

请注意,epi10的最佳答案使用负号,这是可能的,因为 grep返回数字值,并且可以使用数字值对列表进行索引。但是,不能将负号与字符和逻辑值一起使用。

关于r - 删除列表中所有子元素都存在的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902967/

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