2016-08-16 81 views
-2

我中的R矩陣,其中列的兩個名稱和行是整數,即,M =R索引的dimnames int?

4 5 6 
7 |3 3 3 
8 |4 2 1 
9 |2 1 0 

但是當我嘗試經由名來訪問,即,M [4,7]它給一個越界的錯誤,因爲它認爲我試圖訪問第四行和第七列。任何幫助?

+4

你可能認爲它們是整數,但它們不是。如果你看attr(M,'dimnames'),你會看到它們被存儲爲字符串。你可以使用'M ['7','4']',就像正常的字符串列名一樣。 – Gregor

回答

0

想通了,用toString()將值轉換爲字符串,這是R用來存儲名稱的字符串。

+4

'as.character'會更合適,因爲嘗試使用'toString'爲多個值進行子集時會出錯。例如,檢查'M [,toString(c(4,5))]''反對'M [,as.character(c(4,5))]'' –