-1
我們希望將數據框中的某些列與來自各種不同數據框的匹配列合併。我們的主要數據幀預測看起來如下:添加來自不同數據框的列並在兩個指標上堆疊
>predict
x1 x2 x3
1 1 1
0 1 0
1 1 0
1 1 0
0 0 1
(有可能根據預測的數量更多的列中運行)
我們的目標是合併與從y列該數據幀三種不同的測試數據幀(df_1df_2和df_3)它們都具有相同的結構。通過df_1$y[test]
([test]是一個邏輯向量來標識與我們的x值匹配的5個值)並且具有與從預測的x列相同的結構來訪問所需的列。
所需的輸出應該是這樣的:
>predict_test
x1 x2 x3 y1 y2 y3
1 1 1 1 1 1
0 1 0 0 0 0
1 1 0 0 1 0
1 1 0 1 1 1
0 0 1 0 0 1
在我們需要堆x軸和y軸列成一列,以做評估下一步。按照正確的順序堆疊它們很重要,例如x1下的x2和x2下的x3。 y列分別。
>predict_test_stack
x_all y_all
1 1
0 0
1 0
1 1
0 0
1 1
1 0
1 1
1 1
0 0
1 1
0 0
0 0
0 1
1 1
這可能與melt
工作,但我們不知道如何使用它,同時顯示兩個不同的ID變量。
感謝您的幫助。
謝謝@Moody_mudskipper。我從中學到了一些有用的基本東西。還有一個問題:sapply命令中的「sub」究竟做了什麼? – Dima
它用相關'data.frame'第一列名稱中的空字符串替換任何數字。我做了一個複製粘貼錯誤,輸出的打印名稱是錯誤的,我現在用x和y替換它們:)。 –
我剛剛注意到的另一件事是,使用'unlist'創建*輸出*將我的原始x值從(0,1)轉換爲(1,2)。 有什麼建議嗎? – Dima