2016-11-29 123 views
-3

我有一个矩阵,如:R:如何删除矩阵中的特定行?

> ex2 
     [,1] [,2]  [,3]  [,4]  [,5] 
[1,] 1 1912 55.40000 49.06132 6.3386825 
[2,] 9 1944 53.76998 46.90905 6.8609322 
[3,] 10 1948 52.31764 48.65840 3.6592392 
[4,] 11 1952 44.71056 50.34861 -5.6380584 
[5,] 13 1960 50.08676 47.58916 2.4975960 
[6,] 15 1968 49.59538 57.16136 -7.5659793 
[7,] 17 1976 51.05214 43.28484 7.7672977 
[8,] 18 1980 44.69676 57.55835 -12.8615819 
[9,] 23 2000 50.26476 49.67494 0.5898139 
[10,] 25 2008 53.68885 49.11433 4.5745194 

我想删除与有关2000年度的值的行(因此,在情况,我想删除行9)。

矩阵不一定包含于2000年 例如值,其可以是:预先

> ex3 
    [,1] [,2]  [,3]  [,4]  [,5] 
[1,] 13 1960 50.08676 43.08453 7.002226 
[2,] 25 2008 53.68885 49.92650 3.762 

感谢。

+0

实际上,如果将其设置为data.frame,会更好。 –

回答

0

使用常规子集规则。例如:

ex2[ex2[,2]!=2000,] 

这意味着“将所有具有不同于2000的第二列的行”。

-1
if(2000%in%ex2[,2]){ 
    newdata=ex2[-which(ex2[,2]==2000),] 
}