R:如何删除矩阵中的特定行?

时间:2016-11-29 09:35:54

标签: arrays r matrix vector row

我有一个矩阵,如:

> 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

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

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

表示“获取第二列与2000不同的所有行”。

答案 1 :(得分:-1)

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