2
我有兩個數據集:從R中缺少列名替換另一個數據框中的列名?
a。看起來像這樣的數據幀:
SpeciesA SpeciesB SpeciesC SpeciesD SpeciesE SpeciesY SpeciesZ
Site1 1 0 4 6 2 5 2
Site2 1 0 4 6 2 5 3
Site3 1 0 4 6 2 5 4
Site4 1 0 4 6 2 5 5
(注:行值是不相同的這僅僅是表示在這裏的目的。)
灣另一個數據集,看起來像這樣:
Order Species
Order1 SpeciesA
Order1 SpeciesB
Order2 SpeciesC
Order2 SpeciesD
Order3 SpeciesE
注意,有些種類(如SpeciesZ,SpeciesY)不具有相應的「訂單」(B)。
我想將數據集(2)中的Order列與數據框(1)中的對應物種相匹配,並將相同Order下的值(如果有多個物種)相加。當有供種(eg.SpeciesY,SpeciesZ)沒有相應的訂單,我要重命名的列空,然後將其刪除(注意:我需要兩個步驟)
預決賽輸出
Order1 Order1 Order3 NULL NULL
Site1 1 10 2 5 2
Site2 1 10 2 5 3
Site3 1 10 2 5 4
Site4 1 10 2 5 5
最終輸出
Order1 Order2 Order3
Site1 1 10 2
Site2 1 10 2
Site3 1 10 2
Site4 1 10 2
這是問題asked here,其具有用於使用dplyr
melt
或/ reshape
功能大部分代碼的擴展。但是,我發現很難對此進行相同的分析,因爲它會吐出一個錯誤,指出某些物種沒有對應的值。
我不知道是什麼比賽是幹什麼的,但是當我運行它,我看到I1正在值比DF1列的數目更大。例如。我有i1作爲(1,522,4 ..等)的矢量。當我運行df1 [i1]時,表示選擇了未定義的列 – Ash
上面的註釋參考代碼 – Ash
中的選項(1)我想到了。我認爲我的結局出現了一個小故障。現在運作良好! – Ash