我试图在R中提取列表中每个元素的第二个子元素,同时忽略NA值。以下是一个小例子:
mylist <- list(a=c(6,7),b=NA,c=c(8,9))
sapply(mylist, "[[", 1)
sapply(mylist, "[[", 2) #receive error
由于元素 'b' 仅有一个子元素(NA),因此在尝试提取第二个子元素时,我收到以下错误:
Error in FUN(X[[2L]], ...) : subscript out of bounds
我的目标是使输出为:7、NA和9。换句话说,我想忽略和保留NA,以便输出的长度与列表中的元素数量相同。我希望解决方案足够通用,也能够应用于列表中每个子元素n。
sapply(mylist, function(x) x[2])
。 - nograpes