17

我正在将程序的一部分(不足以编译和运行)从 R 移植到 C++。我不熟悉 R。我在网上使用参考资料做得很好,但被以下行难住了:

cnt2.2<-cnt2[,-1]

我猜:

  1. cnt2是一个二维矩阵
  2. cnt2.2是用句点“。”声明的新变量。使用与字母字符相同的方式。
  3. <-是一个任务。
  4. [,-1]访问数组的一部分。我以为[,5]所有行,仅第 5 列。如果这是正确的,我不知道 -1 指的是什么。
4

3 回答 3

24

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

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

于 2011-09-07T15:46:25.953 回答
18

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

对于 '['-indexing only: 'i', 'j', '...' 可以是逻辑向量,指示要选择的元素/切片。如有必要,这些向量将被回收以匹配相应的范围。'i', 'j', '...' 也可以是负整数,表示要排除在选择之外的元素/切片。

于 2011-09-07T15:45:13.940 回答
8

1) cnt2 是一个二维矩阵

从您提供的代码来看,它确实是某种二维结构(很可能是矩阵)。

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

正确的。

3) <- 是一个任务。

正确的。

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

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

于 2011-09-07T15:47:54.923 回答