gpt4 book ai didi

r - 如何过滤出Tibble列表列的NULL元素

转载 作者:行者123 更新时间:2023-12-02 08:00:59 24 4
gpt4 key购买 nike

我有一个如下的小标题:

structure(list(id = 1:11, var1 = c("A", "C", "B", "B", "B", "A", 
"B", "C", "C", "C", "B"), var2 = list(NULL, NULL, NULL, structure(list(
x = c(0, 1, 23, 3), y = c(0.75149005651474, 0.149892757181078,
0.695984086720273, 0.0247649133671075)), row.names = c(NA,
-4L), class = c("tbl_df", "tbl", "data.frame")), NULL, NULL,
NULL, NULL, NULL, NULL, NULL)), row.names = c(NA, -11L), class = c("tbl_df",
"tbl", "data.frame"))

我只想保留 var2不为null的行。但是简单的 !is.null()不能正常工作。 df %>% filter(!is.null(var2))返回整个 df。为什么会这样,如何在 NULL列中使用 var2过滤掉所有这些行?

最佳答案

也涉及purrr的一种可能性是:

df %>%
filter(!map_lgl(var2, is.null))

id var1 var2
<int> <chr> <list>
1 4 B <tibble [4 × 2]>

反射(reflect) is.null()的属性,您还可以执行以下操作:
df %>%
rowwise() %>%
filter(!is.null(var2))

关于r - 如何过滤出Tibble列表列的NULL元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57336319/

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