如何使用R

时间:2017-12-12 20:56:24

标签: r matrix merge

我有5个时间矩阵。 每个都有不同数量的行和列,但每个行都有一个名为Year的第一列。每个开始和结束都在不同的year,因此所有矩阵中没有共同的开始或结束日期。

我想基于收集这些数据的年份将所有矩阵组合成一个(即,在特定年份的一个矩阵中收集的数据,对应于同一年的其他矩阵中的数据)。

对于那些没有相应年份的矩阵,我想用NA填补这些空白。仅使用

,数据不会按年份排列
Reduce(function(x,y) merge(x,y,1,all=T),list(matrix1, matrix2,...)) 

如何排列数据并将它们组合成一个矩阵?

Matrix1:

Year    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  
1969    0   5   5   3   3   0   3   1   1   0   2   0   0   1   1   0   0   
1970    5   10  5   4   8   5   2   2   2   1   0   2   0   0   1   0   0   
1971    0   10  3   5   2   1   2   1   1   0   0   0   0   0   0   0   0   
1972    0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
...  
2014

Matrix2:

Year Checked  
 1969    1995  
 1970    2017  
 1971    1996  
 1972    1972  
 1973    2010  
 1974    2008  
...    
2015

Matrix3:

Year    WOak  
1983    1.43  
1984    1.08  
1985    2.01  
1986    1.32  
1987    1.16  
1988    3.16  
...  
2016

Matrix 4:

Year    C_Registered    M_Registered    P_Registered    T_Registered  
1969    NA  NA  NA  55  
1970    NA  NA  NA  72  
1971    NA  NA  NA  44  
1972    NA  NA  NA  0  
1973    NA  NA  NA  48  
1974    NA  NA  NA  59  
1975    NA  NA  NA  2  
...  
2015

Matrix5:

 Year Hunters  Trips Harvest TripsPerHunter  
 1949      NA     NA     873             NA  
 1950      NA     NA      NA             NA  
 1951      NA  11298     927             NA  
 1952      NA  19620    1047             NA  
 1953      NA  18040    1100             NA  
 1954      NA  15073    1200             NA  
 1955      NA  33373    4458             NA  
...  
2015

0 个答案:

没有答案