Р: Как удалить конкретную строку в матрице?
У меня есть матрица, такая как:
> 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 ответа
Решение
Используйте обычные правила подмножества. Например:
ex2[ex2[,2]!=2000,]
что означает "взять все строки, у которых второй столбец отличается от 2000".