假設我有以下串列“d”:
library(combinat)
d = permn(c("a", "b", "c"))
這看起來如下:
[[1]]
[1] "a" "b" "c"
[[2]]
[1] "a" "c" "b"
[[3]]
[1] "c" "a" "b"
[[4]]
[1] "c" "b" "a"
[[5]]
[1] "b" "c" "a"
[[6]]
[1] "b" "a" "c"
是否可以將此串列的每個元素轉換為一列?
這就是我想要做的:
desired_result = data.frame(col1 = c("a", "b", "c"), col2 = c("a", "c", "b"), col3 = c("c", "a", "b"), col4 = c("c", "b", "a"), col5 = c("b", "c", "a"), col6 = c("b", "a", "c"))
col1 col2 col3 col4 col5 col6
1 a a c c b b
2 b c a b c a
3 c b b a a c
有人可以告訴我如何做到這一點嗎?
謝謝!
uj5u.com熱心網友回復:
嘗試matrix(unlist(d), ncol = length(d))或者,如果您需要一個資料框,data.frame(matrix(unlist(d), ncol = length(d))對于任何長度d
uj5u.com熱心網友回復:
我們可以使用矩陣作為中間步驟,最終轉換為 data.frame,并指定列名:
as.data.frame(matrix(unlist(d), ncol = 6)) |>
setNames(paste0("col", 1:6))
col1 col2 col3 col4 col5 col6
1 a a c c b b
2 b c a b c a
3 c b b a a c
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/397784.html
