2011-09-07 89 views
7

我从R到C++移植程序的一部分(不足以编译和运行)。我不熟悉R.我已经使用在线引用做还行,但由以下行难住了:在R中,负指数做什么?

cnt2.2<-cnt2[,-1] 

我猜测:

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

回答

8

负数索引指定丢弃(而不是保持)特定元件...所以x[,-1]指定丢弃所述第一列(行是第一尺寸,逗号之前,和列是第二维,逗号之后)。从?"["http://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html):

For ‘[’-indexing only: ‘i’, ‘j’, ‘...’ can be logical 
      vectors, indicating elements/slices to select. Such vectors 
      are recycled if necessary to match the corresponding extent. 
      ‘i’, ‘j’, ‘...’ can also be negative integers, indicating 
      elements/slices to leave out of the selection. 
4

1)CNT2是2维矩阵

从你提供这的确是某种(很可能的矩阵)的2维结构中的代码。

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

正确。

3)< - 是一项任务。

正确。

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

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

+0

+1有关从1索引的评论(尽管我希望OP已经知道了这一点) –