2011-09-07 92 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已經知道了這一點) –