在R中,负数索引是什么意思?

20

我正在将一个程序的一部分(不足以编译和运行)从R移植到C ++。 我对R不熟悉。 我已经通过在线引用做得还可以,但以下一行代码使我困惑:

cnt2.2<-cnt2[,-1]

我猜测:

  1. cnt2 是一个二维矩阵
  2. cnt2.2 是一个新变量,使用句点 '.' 来声明,就像字母一样。
  3. <- 表示赋值。
  4. [,-1] 访问数组的一部分。我以为[,5] 表示所有行的第五列,但是如果是这样,我不知道 -1 是什么意思。
3个回答

28

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

仅针对 '[ ]' - 索引 : 'i','j','...' 可以是逻辑向量,表示要选择的元素 / 切片。如果需要,这些向量将被循环使用以匹配相应的范围。 ' i','j','...' 还可以是负整数,表示要从选择中排除的元素 / 切片。


9

1) cnt2是一个二维矩阵。

从你提供的代码中可以看出,cnt2确实是某种二维结构(很可能是矩阵)。

2) cnt2.2是一个新变量,用句点'.'声明,就像字母一样。

正确。

3) <-表示赋值。

正确。

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

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


1
+1 对于索引从1开始的评论(尽管我希望原帖作者已经明白了这一点) - Ben Bolker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接