7

我对 R 非常陌生,有时会被代码卡住。我遇到了如下代码之一。下面的代码是什么-7意思?

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

我理解:四舍五入,longley 作为data.frame,3:四舍五入的数字,但不是-7。

4

2 回答 2

14

在上下文中,这意味着从数据框中[, -7]删除第th 列(或从 th 中取出除第 th之外的所有列)。7longley7longley

这是 R 101,您最好阅读一些介绍性材料。例如,这在 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
于 2014-01-18T21:03:47.080 回答
1

该命令longley[,-7]意味着:longley除第 7 列之外的所有列。这称为负索引。

查看?Extract更多信息。

于 2014-01-18T21:02:07.027 回答