1
我有一個矩陣定義爲使用如下如何使用`image`在常規佈局中顯示矩陣?
dataMatrix <- matrix(rnorm(400), nrow=40)
然後dataMatix
被繪製到屏幕下面
image(1:10, 1:40, t(dataMatrix)[, nrow(dataMatrix):1])
有人可以解釋圖像功能的第三個參數是如何工作的?我對[]
內發生的事情特別困惑。謝謝
我有一個矩陣定義爲使用如下如何使用`image`在常規佈局中顯示矩陣?
dataMatrix <- matrix(rnorm(400), nrow=40)
然後dataMatix
被繪製到屏幕下面
image(1:10, 1:40, t(dataMatrix)[, nrow(dataMatrix):1])
有人可以解釋圖像功能的第三個參數是如何工作的?我對[]
內發生的事情特別困惑。謝謝
沒有比示例更好的了。考慮8種元素的4 * 2
整數矩陣:
d <- matrix(1:8, 4)
# [,1] [,2]
#[1,] 1 5
#[2,] 2 6
#[3,] 3 7
#[4,] 4 8
如果我們image
這個矩陣col = 1:8
,我們將有顏色和像素之間的一對一的地圖:彩色i
用於遮陽像素具有值i
。在R中,顏色可以用0到8的9個整數指定(其中0是「白色」)。如果d
在傳統的顯示器繪製您可以通過
barplot(rep.int(1,8), col = 1:8, yaxt = "n")
查看非白人的價值觀,我們應該看到下面的色塊:
black | cyan
red | purple
green | yellow
blue | gray
現在,我們來看看image
會顯示什麼內容:
image(d, main = "default", col = 1:8)
我們預計,(4行,2列)塊顯示屏,但我們得到了(2行,4列)顯示。因此,我們要轉d
然後再試一次:
td <- t(d)
# [,1] [,2] [,3] [,4]
#[1,] 1 2 3 4
#[2,] 5 6 7 8
image(td, main = "transpose", col = 1:8)
EM,更好的,但似乎該行順序是相反的,所以我們要甩掉它。
## reverse the order of columns
image(td[, ncol(td):1], main = "transpose + flip", col = 1:8)
是的,這就是我們想要的東西:其實,這樣的翻轉應的td
列之間,因爲有4列td
進行!我們現在有一個傳統的矩陣顯示器。
注意ncol(td)
只是nrow(d)
,並td
只是t(d)
,所以我們也可以這樣寫:
image(t(d)[, nrow(d):1])
這是你有什麼權利了。
啊哈!所以 [,ncol(td):1]#是列 和 [nrow(td):1,]#是行 – David
@李,非常感謝你,非常清楚。我會很樂意參考文檔;-) – David
@ Li。完成!找到了 ! – David