我有這兩個串列(假設我們有數百個串列):
l1 = list(c(1,2,3),c(12))
l2 = list(data.frame(x=c(1,2,3)),c(4,5))
我希望只從每個串列中選擇第二個元素。怎么做?謝謝。
uj5u.com熱心網友回復:
嘗試
f1 <- function(lstobj)
{
lapply(lstobj, \(x) if(is.data.frame(x)) x[[1]][2] else x[2])
}
如果是提取第二個串列元素
f1 <- function(lstobj, ind)
lstobj[[ind]]
}
f1(l1)
f1(l2)
uj5u.com熱心網友回復:
要選擇每個串列的第二個元素,您可以使用lapply
and "[["
,2
如下所示:
l1 = list(c(1,2,3),c(12))
l2 = list(data.frame(x=c(1,2,3)),c(4,5))
lists <- list(l1, l2)
lapply(lists, "[[", 2)
#> [[1]]
#> [1] 12
#>
#> [[2]]
#> [1] 4 5
使用reprex v2.0.2創建于 2022-11-04
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527685.html
標籤:r列表数据框
上一篇:使用R重新表達分類欄位值
下一篇:洗掉特定字串R的重音符號