我有一个包含180个元素的大型列表。例如,我可以使用以下调用访问列表中的第115个元素:
> mylist[115]
[[115]]
OBJECTID CELL_ID QUADNAME STATE_CODE MRC_CODE QUADID N_LATITUDE
1994 1995 309458 Bucklin Reservoirs SW WY 42107-D4 4210737_sw 42.4375
S_LATITUDE E_LONGITUD W_LONGITUD EXTENT_TYP BOTTOM TOP_ LEFT_ RIGHT_
1994 42.375 -107 -108 S 42.375 42.4375 -107.5 -107.4375
FIPS_C Shape_Leng Shape_Area utm_zone
1994 56007 56025 24162.04 35680939 13
如何创建包含所有" QUADID"的数据框?列表中所有元素的属性(例如4210737_sw)?
答案 0 :(得分:1)
如果您只想要QUADID
的每个元素的mylist
值,您可以尝试:
sapply(mylist,function(x) x$QUADID)
这假设您列表中的每个元素都与您在OP中为第115个元素显示的结构具有相同的结构。如果不是这种情况,您应该提供有关mylist
的更多详细信息,并更准确地了解您所需的输出。
答案 1 :(得分:0)
这个怎么样?
require(data.table)
a <- data.frame(OJECTID = 1995, QUADID = "4210737_sw")
b <- data.frame(OJECTID = 1995, QUADID = "5145228_sw")
c <- data.frame(OJECTID = 1995, QUADID = "4210737_sw")
l <- list(a, b, c)
rbindlist(lapply(l, FUN = function(x) if(x$QUADID == "4210737_sw"){x}))