提取列表中每个元素的第二个子元素,同时忽略NA';s在sapply在R
我试图提取列表中每个元素的第二个子元素,同时忽略R中的NAs。下面是一个小示例:提取列表中每个元素的第二个子元素,同时忽略NA';s在sapply在R,r,list,apply,na,sapply,R,List,Apply,Na,Sapply,我试图提取列表中每个元素的第二个子元素,同时忽略R中的NAs。下面是一个小示例: mylist <- list(a=c(6,7),b=NA,c=c(8,9)) sapply(mylist, "[[", 1) sapply(mylist, "[[", 2) #receive error 我的目标是输出为:7,NA,9。换句话说,我希望忽略并保留NAs,以便输出的长度与列表中的元素数相同。我希望解决方案足够通用,也能够将其应用于每个列表中的不同子元素n。这应该满足您的要求: sapply(m
mylist <- list(a=c(6,7),b=NA,c=c(8,9))
sapply(mylist, "[[", 1)
sapply(mylist, "[[", 2) #receive error
我的目标是输出为:7,NA,9。换句话说,我希望忽略并保留NAs,以便输出的长度与列表中的元素数相同。我希望解决方案足够通用,也能够将其应用于每个列表中的不同子元素n。这应该满足您的要求:
sapply(mylist,function(x) x[2])
或者更简洁但等价地说,
sapply(mylist,`[`,2)
sapply(mylist,function(x) x[2])