[英]All possible combinations of matrices with values from vectors
如何獲得所有可能的 2 by v 矩陣,其中 v 是任意長度的向量的數量,填充了向量的值。
例如,我得到了三個向量A = c(1,2,3)
B = c("x","z")
C = c(1,0)
。
假設現在,我想獲得所有可能的 2 x 3 矩陣或數據幀,這些矩陣或數據幀源自上述向量的值。
最后,我想要這樣的東西:
combination_id first_row A B C
1: 1 1 0 x 0
2: 2 0 1 x 1
3: 3 1 1 z 0
4: 4 0 0 z 1
5: 5 1 0 x 0
6: 6 0 1 x 0
7: :
8: :
這給出了每個集合中兩個元素的所有可能組合(允許替換),總共提供 144 個矩陣。 然后將它們綁定在一起以提供一個 288 行的數據幀:
A = c(1,2,3)
B = c("x","z")
C = c(1,0)
df <- setNames(as.data.frame(do.call(rbind,
lapply(as.data.frame(t(expand.grid(A, B, C, A, B, C))),
matrix, nrow = 2, byrow = TRUE))),
c("A", "B", "C"))
head(df)
#> A B C
#> 1 1 x 1
#> 2 1 x 1
#> 3 2 x 1
#> 4 1 x 1
#> 5 3 x 1
#> 6 1 x 1
nrow(df)
#> [1] 288
由reprex 包(v0.3.0) 於 2020 年 9 月 6 日創建
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.