我正在将一个程序的一部分(不足以编译和运行)从R移植到C ++。 我对R不熟悉。 我已经通过在线引用做得还可以,但以下一行代码使我困惑:
cnt2.2<-cnt2[,-1]
我猜测:
cnt2
是一个二维矩阵cnt2.2
是一个新变量,使用句点 '.' 来声明,就像字母一样。<-
表示赋值。[,-1]
访问数组的一部分。我以为[,5]
表示所有行的第五列,但是如果是这样,我不知道 -1 是什么意思。
我正在将一个程序的一部分(不足以编译和运行)从R移植到C ++。 我对R不熟悉。 我已经通过在线引用做得还可以,但以下一行代码使我困惑:
cnt2.2<-cnt2[,-1]
我猜测:
cnt2
是一个二维矩阵cnt2.2
是一个新变量,使用句点 '.' 来声明,就像字母一样。<-
表示赋值。[,-1]
访问数组的一部分。我以为[,5]
表示所有行的第五列,但是如果是这样,我不知道 -1 是什么意思。这在手册的第2.7节中有介绍:http://cran.r-project.org/doc/manuals/R-intro.html#Index-vectors
这是对cnt2
对象进行负索引,指定除第一列外的所有行和列。
x [,-1]
指定删除第一列(行是逗号前的第一维,列是逗号后的第二维)。这段内容来源于? "["
(http://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html):
仅针对 '[ ]' - 索引 : 'i','j','...' 可以是逻辑向量,表示要选择的元素 / 切片。如果需要,这些向量将被循环使用以匹配相应的范围。 ' i','j','...' 还可以是负整数,表示要从选择中排除的元素 / 切片。
1) cnt2是一个二维矩阵。
从你提供的代码中可以看出,cnt2确实是某种二维结构(很可能是矩阵)。
2) cnt2.2是一个新变量,用句点'.'声明,就像字母一样。
正确。
3) <-表示赋值。
正确。
4) [,-1]访问数组的一部分。我以为[,5]表示所有行,第5列。如果这是正确的,我不知道-1是什么意思。
[,-1]
选择除第1列之外的所有列。请注意,在R中,与C++不同,索引从1开始而不是从0开始。