2
我試圖將列表中的元素細分爲單獨的列。將列表中的元素細分爲單獨的列
的樣本數據:
d <- list(c(1,2,3,4,5,6,7,8),c(1,2,3,4,5,6,7,8))
這是一個列表的元素1的解決方案:
numrows <- (row(as.matrix(d[[1]])) %% 2)
TabNum <- sapply(1:2, function(x) as.matrix(d[[1]])[numrows==numrows[x,], ,drop=FALSE])
如何爲整個列表這樣做有效地?
這裏是開始,但後來我發現與sapply
組合很麻煩,無論如何這是真正的黑客,必須有更好的解決方案。
numrows.list <- lapply(1:length(d), function(i) (row(as.matrix(d[[i]])) %% 2))
因此,對於d
列表將有4列。因此,所需的輸出是:
[,1] [,2] [,3] [,4]
[1,] 1 2 1 2
[2,] 3 4 3 4
[3,] 5 6 5 6
[4,] 7 8 7 8
@akrun:我要真正定義第一是我真正需要的! :) – Maximilian
@Maximillian這是我的第一個,沒有看到'row'部分 – akrun