我有兩個陣列系列,pan1,pqn2,,,pn30 和 read1,read2,,,read30,我想將它們 cbind 到一個資料幀中,其名稱為 pan1,read1,pan2,read2,,,pan30,read30 by a for在R中回圈,我該怎么辦?這是我的嘗試,但不起作用
pan <- objects(pattern='^pan[0-9] $')
read <- objects(pattern = '^read[0-9] $')
for (i in 1:30) {
for (j in 1:30) {
if (i==j) {
panread <- cbind(pan[i],read[j])
}
}
}
uj5u.com熱心網友回復:
基礎 R 中的一種解決方案:
生成objects' 名稱的向量,觀察模式 pan1, read1, ..., pan30, read30
objects_to_bundle <- as.vector(matrix(c(objects(pattern = '^pan*'),
objects(pattern = '^read*')
),,2, byrow = TRUE
)
)
lapply通過如下
方式獲取物件串列:get按物件名稱的物件,將其轉換為命名structure(串列)并回傳此串列as.data.frame(無論如何這是一個矩形列串列):
as.data.frame(structure(.Data = lapply(objects_to_bundle,
function(n) as.vector(get(n))
),
.Names = objects_to_bundle
)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467860.html
