我有一个数据框,已根据 ID
(l1
) 将其拆分为列表。我还有另一个列表 l2
,它根据 ID
名称连接到 l1
。其中一个列表元素具有 NA
值,我已将该元素从列表中删除 (l2_new
)。
我希望能够从 l1
中删除由于 NA 而从
值。有没有好的方法可以做到这一点(最好是在基础 R 中)?l2
中删除的相同 ID
值导致预期
对象的
library(lubridate)
library(tidyverse)
date <- rep_len(seq(dmy("01-01-2013"), dmy("31-12-2013"), by = "days"), 300)
ID <- rep(c("A","B","C"), 50)
df <- data.frame(date = date,
utm_x = runif(length(date), min = 238785, max = 453354.5),
utm_y = runif(length(date), min = 4096853.0 , max = 4280487.1 ),
ID)
l1 <- df %>%
group_split(ID)
names(l1) <- sapply(l1, function(x) paste(x$ID[1],
sep = '_'))
l2 <- list(1,2,NA)
names(l2) <- c("A", "B", "C")
l2_new <- Filter(function(a) any(!is.na(a)), l2)
expected <- l2[-3]
最佳答案
我们可以使用“l2_new”的名称来对“l2”进行子集
l2[names(l2_new)]
关于根据从另一个列表中删除的 ID 从一个列表中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71788849/