如何提取列表中的第一项(即使列表为空)

Bri*_*Pom 5 r

在 R 中,我想从嵌套列表中提取第一项;但有时该列表可能为空。

例如:

myList <- list(
            list(ID = 1, Sales = 1000, Product = "Car"),
            list(ID = 2, Sales = 2000, Product = "Boat"),
            list(ID = 3, Sales = 1500, Product = "Bike")
)
myList2 <- list()
Run Code Online (Sandbox Code Playgroud)

所以当我拨打以下电话时:

myList[[1]]
myList2[[1]]
Run Code Online (Sandbox Code Playgroud)

第一个调用返回一个有效的子列表(ID=1, Sales=1000, Product = "Car"),但第二个调用返回一个错误 -

Error in myList2[[1]] : subscript out of bounds

是否有一个简单的调用可以表示“填充列表时返回项目 1,否则返回NULL并且不抛出错误”?

Wil*_*lem 3

您可以使用包first的功能dplyr

first(myList, default = NULL)
first(myList2, default = NULL)
Run Code Online (Sandbox Code Playgroud)

有关该功能的更多信息:https ://dplyr.tidyverse.org/reference/nth.html