在R中,负索引有什么作用?

问题描述 投票:12回答:3

我正在将程序的一部分(不足以进行编译和运行)从R移植到C ++。我对R不太熟悉。我可以在线使用参考文献,但被以下行打扰了:

cnt2.2<-cnt2[,-1]

我猜:

  1. cnt2是二维矩阵
  2. cnt2.2是一个新的变量,以句点'。'声明。使用与字母字符相同的方式。
  3. <-是一个分配。
  4. [,-1]访问数组的一部分。我以为[,5]表示所有行,仅第5列。如果正确的话,我不知道-1代表什么。
r syntax indexing matrix-indexing
3个回答
19
投票

此内容在手册的2.7节中介绍:http://cran.r-project.org/doc/manuals/R-intro.html#Index-vectors

它是cnt2对象的负索引,指定除第一列之外的所有行和所有列。


14
投票

负索引指定删除(而不是保留)特定元素...因此,x[,-1]指定删除第一列(行是逗号前的第一维,列是逗号后的第二维)。从?"["http://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html):

仅对于[[-索引:'i','j','...'向量,指示要选择的元素/切片。这样的载体必要时将其回收以匹配相应的范围。“ i”,“ j”,“ ...”也可以是负整数,表示元素/切片可忽略选择。


6
投票

1)cnt2是二维矩阵

根据您提供的代码,它的确是某种二维结构(可能是矩阵)。

2)cnt2.2是一个新的变量,以句点'。'声明。使用与字母字符相同的方式。

正确。

3)

正确。

4)[,-1]访问数组的一部分。我以为[,5]表示所有行,仅第5列。如果正确的话,我不知道-1代表什么。

[,-1]选择所有列第1列除外。请注意,与C ++不同,R中的索引从1而不是零开始。

© www.soinside.com 2019 - 2024. All rights reserved.