1 단계 : 모든 dataframes을 고려하여 최소 및 최대 년을 (를) 찾기 :
min(M1["year"], M2["year"], M3["year"], M4["year"], M5["year"]) # 2000
max(M1["year"], M2["year"], M3["year"], M4["year"], M5["year"]) # 2020
2 단계 : 관련의 NA를 펌핑하고, 시작과에서 누락 년 돌보는으로 M5를 통해 M1 확장 끝
M1NA <- rbind(M1, data.frame(year=2011:2020, v1=NA, v2=NA))
M1NA
M2NA <- rbind(data.frame(year=2000:2004, v3=NA, v4=NA, v5=NA), M2, data.frame(year=2019:2020, v3=NA, v4=NA, v5=NA))
M2NA
M3NA <- rbind(data.frame(year=2000:2001, v3=NA, v6=NA, v7=NA), M3, data.frame(year=2017:2020, v3=NA, v6=NA, v7=NA))
M3NA
M4NA <- rbind(data.frame(year=2000:2007, v3=NA, v6=NA, v8=NA), M4)
M4NA
M5NA <- rbind(data.frame(year=2000:2017, v9=NA, v10=NA, v11=NA, v12=NA), M5)
M5NA
3 단계 : 최종 데이터 프레임에 NA'ed 데이터 프레임 결합. 다른 데이터 프레임에서 연도 열을 반복 할 필요가 없으므로 삭제하십시오. 행렬의 경우
CombinedFrame <- cbind(M1NA, M2NA[-1], M3NA[-1], M4NA[-1], M5NA[-1])
CombinedFrame
, 다음을 수행하십시오
CombinedMatrix <- as.matrix(sapply(CombinedFrame, as.numeric))
CombinedMatrix
CombinedMatrix <- matrix(as.numeric(unlist(CombinedFrame)),nrow=nrow(CombinedFrame))
CombinedMatrix
참고 :
다음과 같은 방법 중 하나로 행렬에 결과 dataframe 변환 위의 변환이 계정에 존재의 가능성을
이렇게하면 다음과 같이됩니다 (원하는 경우).
year v1 v2 v3 v4 v5 v3 v6 v7 v3 v6 v8 v9 v10 v11 v12
[1,] 2000 16 25 NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] 2001 17 26 NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] 2002 18 27 NA NA NA 3 2 0 NA NA NA NA NA NA NA
[4,] 2003 19 28 NA NA NA 4 3 1 NA NA NA NA NA NA NA
[5,] 2004 20 29 NA NA NA 5 4 2 NA NA NA NA NA NA NA
[6,] 2005 21 30 6 5 3 6 5 3 NA NA NA NA NA NA NA
[7,] 2006 22 31 7 6 4 7 6 4 NA NA NA NA NA NA NA
[8,] 2007 23 32 8 7 5 8 7 5 NA NA NA NA NA NA NA
[9,] 2008 24 33 9 8 6 9 8 6 9 8 6 NA NA NA NA
[10,] 2009 25 34 10 9 7 10 9 7 10 9 7 NA NA NA NA
[11,] 2010 26 35 11 10 8 11 10 8 11 10 8 NA NA NA NA
[12,] 2011 NA NA 12 11 9 12 11 9 12 11 9 NA NA NA NA
[13,] 2012 NA NA 13 12 10 13 12 10 13 12 10 NA NA NA NA
[14,] 2013 NA NA 14 13 11 14 13 11 14 13 11 NA NA NA NA
[15,] 2014 NA NA 15 14 12 15 14 12 15 14 12 NA NA NA NA
[16,] 2015 NA NA 16 15 13 16 15 13 16 15 13 NA NA NA NA
[17,] 2016 NA NA 17 16 14 17 16 14 17 16 14 NA NA NA NA
[18,] 2017 NA NA 18 17 15 NA NA NA 18 17 15 NA NA NA NA
[19,] 2018 NA NA 19 18 16 NA NA NA 19 18 16 19 18 16 29
[20,] 2019 NA NA NA NA NA NA NA NA 20 19 17 20 19 17 30
[21,] 2020 NA NA NA NA NA NA NA NA 21 20 18 21 20 18 31
아주 좋은 솔루션입니다. 불행히도, 나는 과거 dplyr 패키지에 문제가 있었고 여전히 가지고 있습니다. dplyr (v.0.5.0)을 사용하려고 할 때 "패키지 tidyr과 비 conformal"오류가 발생했습니다. 그 이후로 나는 dplyr을 사용할 수 없었습니다. 위의 솔루션의 단순하고 쉬운 적용은 매우 동정심이 있습니다. –
해당 패키지를 제거한 다음 다시 설치하십시오. 최악의 시나리오는 당신이 직면하는 문제에 대한 또 다른 질문을 만들며 누군가가 당신을 도울 것을 도울 것입니다! :-) 패키지를 사용하지 않는 것은 부끄러운 일입니다. 왜냐하면 어떤 이유로 든 작동하지 않을 수 있기 때문입니다. – AntoniosK