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