1
佈置在數據幀中像這樣由於數據:R-循環來在數據幀創建的所有變量的非可逆比
x1<-c(1,2,3,4,5)
x2<-c(10,9,8,7,6)
x3<-c(9,2,8,3,7)
x4<-c(2,5,3,4,8)
data<-data.frame(x1, x2, x3, x4)
我想要寫一個循環,將比使用先前變量的每個變量。輸出應該是這樣的:
r_x2_x1<-x2/x1
r_x3_x1<-x3/x1
r_x4_x1<-x4/x1
r_x3_x2<-x3/x2
r_x4_x2<-x4/x2
r_x4_x3<-x4/x3
ratios<-data.frame(r_x2_x1, r_x3_x1, r_x4_x1, r_x3_x2, r_x4_x2, r_x4_x3)
我想編寫一個循環,會比上面顯示和工作無關的數據幀的變量數的順序變量。我還希望輸出列名稱包含某些過程中使用的變量的指示(即,r_x2_x1是我用來表示比率2/1的標準格式)。變量不總是x1,x2,x3;他們可以是任何數字(通常與x配對)。
我寫過簡單的「for i in ...」循環,但我不知道從哪裏開始。我認爲應該有一種方法來說「從這個變量開始,將它分成剩下的變量,寫出一個數據框」,但我不知道如何將它限制爲非互惠比率(也就是說,如果我有x2/x1。我不需要x1/x2)。限制它是很重要的,以及其中一些集合有多達18-20個變量。如果包含所有可能的比率,它將浪費大量的時間來僅通過數據集來查找我需要的比率。
我真的很感謝您的幫助!
謝謝你生活在一起。我不知道combn命令,所以這非常有幫助。我現在唯一的問題是結果數據框只包含比率的分子,並不表示使用哪個變量作爲分母。這是按照我預期的順序(即我知道比例是多少),但我需要找到一種方法,用比率的分子和分母來重新命名新變量。 –
@JenniferMartin更新了帖子 – akrun
太好了,非常感謝回覆。看來combn將成爲我的收費箱的一個方便的補充。再次感謝! –