데이터 세트가 두 개 있습니다 :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
(참고 : 로우 값은 동일하지이 여기 표현하기위한 목적이다.)
B. 이처럼 보이는 또 다른 데이터 세트 : 어떤 종 (. 예를 들어 SpeciesZ, SpeciesY가)에 해당 "주문"을하지 않는 것을
가Order Species
Order1 SpeciesA
Order1 SpeciesB
Order2 SpeciesC
Order2 SpeciesD
Order3 SpeciesE
공지 사항 (B).
data-set (2)의 Order 열을 data-frame (1)의 해당 Species와 일치시키고 동일한 Order의 값 (여러 종이있는 경우)을 더하고 싶습니다. 종 (eg.SpeciesY, SpeciesZ)에 해당하는 주문이없는 경우, 나는 NULL로 열 이름을 변경하고 (나는 단계 모두 필요합니다) 다음을 제거 할
전 최종 출력
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
이 dplyr
또는 melt
/reshape
함수를 사용하여 대부분의 경우 코드가 질문 asked here의 확장이다. 그러나 일부 종에 해당하는 값이 없다는 오류가 나오면 동일한 분석을 수행하기가 어려워 짐
나는 어떤 일을하는지 잘 모르겠다.하지만 이걸 실행할 때, i1은 df1의 열 개수보다 큰 값을 차지하고있다. 예. 나는 (1,522,4 .. 등) 벡터의 i1을 가지고있다. 그 때 df1 [i1]을 실행하면 정의되지 않은 열이 선택되었음을 나타냅니다. – Ash
위의 설명은 코드 – Ash
의 Option (1)을 참조한 것입니다. 내 생각에는 결함이 있다고 생각해. 이제 잘 작동합니다! – Ash