2014-01-18 4 views
6

Я очень новичок в R и время от времени зацикливаюсь на кодах. Я наткнулся на один из этих кодов, как показано ниже. Что означает -7 в коде ниже?Интерпретация отрицательного индекса при подмножестве data.frame

round(cor(longley[,-7]),3) 

Я понимаю: раунд округления, Лонгли как data.frame, 3: цифры для округления, но не -7.

ответ

11

В контексте [, -7] это означает падение 7-й столбец из кадра longley данных (или принимать все столбцы, но в 7-е из longley).

Это R 101, и вам следовало бы прочитать некоторые вводные материалы. Например, это очень скоро описано в руководстве An Introduction to R, которое поставляется с R или доступно с веб-сайта R. Или вы можете прочитать ?Extract.

Ниже приведен пример

> head(longley) 
    GNP.deflator  GNP Unemployed Armed.Forces Population Year Employed 
1947   83.0 234.289  235.6  159.0 107.608 1947 60.323 
1948   88.5 259.426  232.5  145.6 108.632 1948 61.122 
1949   88.2 258.054  368.2  161.6 109.773 1949 60.171 
1950   89.5 284.599  335.1  165.0 110.929 1950 61.187 
1951   96.2 328.975  209.9  309.9 112.075 1951 63.221 
1952   98.1 346.999  193.2  359.4 113.270 1952 63.639 
> names(longley) 
[1] "GNP.deflator" "GNP"   "Unemployed" "Armed.Forces" "Population" 
[6] "Year"   "Employed"  
> names(longley)[7] 
[1] "Employed" 
> head(longley[, -7]) 
    GNP.deflator  GNP Unemployed Armed.Forces Population Year 
1947   83.0 234.289  235.6  159.0 107.608 1947 
1948   88.5 259.426  232.5  145.6 108.632 1948 
1949   88.2 258.054  368.2  161.6 109.773 1949 
1950   89.5 284.599  335.1  165.0 110.929 1950 
1951   96.2 328.975  209.9  309.9 112.075 1951 
1952   98.1 346.999  193.2  359.4 113.270 1952 
+0

Большое спасибо за объяснение и обратимся к очень полезным ресурсам. – mani

1

Команда longley[,-7] означает: Все столбцы от longley кроме 7-го. Это называется отрицательной индексацией.

Дополнительную информацию см. На странице ?Extract.

+0

большое спасибо за объяснение и ссылаясь на очень полезный ресурс. – mani