我有5個矢量,其中2個我認爲是「配對」,這意味着它們具有相同數量的元素並且每個矢量中的相應元素彼此相連(在我的例子中,我已經爲不同的Beta分佈指定了alpha和beta)。我想製作三個不成對矢量的元素和另外兩個矢量元素對的所有組合的矩陣。我認爲這樣做的方式是將一個向量中的一個向量的元素與另外三個非配對的向量進行組合,然後將左對齊向量的元素與其伴侶進行匹配。我製作了這些組合,但我正在努力完成第二部分 - 在組合完成後將元素配對。這是我的第一部分代碼:創建一個帶有數字的矢量與另一個矢量中的其他數字「合作」
l <- list(alpha=c(8.572, 20, 23.333, 45), n=c(10, 20, 40), numc=c(2, 3, 5), numq=c(5, 10, 20))
combo <- expand.grid(l)
beta <- c(20, 20, 10, 5)
「組合」對象中的第幾行是這樣的:
alpha n numc numq
1 8.572 10 2 5
2 20.000 10 2 5
3 23.333 10 2 5
4 45.000 10 2 5
5 8.572 20 2 5
6 20.000 20 2 5
現在我想插入載體導入叫這個數據幀「beta」將每個alpha值(索引1到4)與來自指定的beta向量I的相應beta值進行配對。例如,每當alpha是8.572,beta是20.我怎麼能這樣做?
這不就是'combo $ beta < - beta'嗎?儘管如果數據還沒有被分類(就像你的情況),你也可以做'組合$ beta < - beta [匹配(組合$ alpha,l $ alpha)]'可能 –
哦,是的。謝謝。它看起來像這樣才起作用,因爲alpha值一次循環一次,但如果我在列表中有alpha或second或third,那麼通過expand.grid運行它,這是行不通的。但沒關係。 –
然後'匹配'將起作用。或'因素'就像下面的答案 –