Выберите столбцы в матрице, соответствующие строкам

Итак, у меня есть большая ковариационная матрица. Я хочу выбрать определенные строки, а затем выбрать правильный соответствующий столбец. Например:

data(data)
data

lng   lat     x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
-97.5 69.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-101.5 49.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-98.5 89.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-97.5 49.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-107.5 79.5   .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-92.5 29.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-97.5 48.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-91.5 19.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-97.5 37.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-80.5 39.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2

Это ковариационная матрица, поэтому x1 = lng -97,5, а lat 69,5 и так далее. Прямо сейчас у меня есть

section_data <- subset(data, -97.5 <= lng & lng <= -80.5 & 35.5 <= lat & lat <= 49.5)

Итак, это ряды 4,7,8,9,10. Это дает мне

 lng   lat     x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
-97.5 49.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-97.5 48.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-91.5 19.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-97.5 37.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2
-80.5 39.5    .5 .8 .9 .1 .5 .3 .2 .4 .6 .2

но он не удаляет соответствующие столбцы. Я хочу получить строки 4,7,8,9,10, но только со столбцами 4,7,8,9,10.

 lng   lat     x4 x7 x8 x9 x10
-97.5 49.5    .1 .2 .4 .6 .2
-97.5 48.5    .1 .2 .4 .6 .2
-91.5 19.5    .1 .2 .4 .6 .2
-97.5 37.5    .1 .2 .4 .6 .2
-80.5 39.5    .1 .2 .4 .6 .2

Я искал и искал, но я не мог найти ответы, которые помогли бы мне с моим вопросом. Буду признателен за любую помощь. Спасибо!


person user2516505    schedule 24.06.2013    source источник


Ответы (1)


person    schedule
comment
вы можете добавить 1:2 к Columns. - person Arun; 24.06.2013
comment
Вы также можете получить последнюю строку просто: section_data <- data[Indices,Indices+2]. - person Thomas; 24.06.2013