0

を使用してRマトリックスの特定のセルのみを色付けできるかどうか疑問に思っています

image

指図。現在、私はこれをやっています:

library(Matrix)

args <- commandArgs(trailingOnly=TRUE)

csv_name <- args[1]
pdf_name <- args[2]

pdf(pdf_name)
data <- scan(csv_name, sep=",")
len <- length(data)
num <- sqrt(len)
matrix <- Matrix(data, nrow=num, ncol=num)
image(matrix)
dev.off()

CSV ファイルには 0 ~ 1 の値が含まれています。
上記のコードを実行すると、次の画像が表示されます。

マトリックスの視覚化

ここで、各行の 6 つの最小値を赤くします。これを達成する方法を知っている人はいますか?

前もってありがとう、
スヴェン

4

2 に答える 2

3

マトリックスはラティス(レベルプロット)を使用しているようです。上にレイヤーを追加できます。

m = Matrix(1:9, 3)
library(latticeExtra)
image(m) + layer(panel.levelplot(1:2,1:2,1:2,1:2, col.regions="red"))

編集:実際には、最初に色を与える方が理にかなっています、

levelplot(as.matrix(m), col.regions=c(rep("red", 6), "blue", "green", "yellow"), at=1:9)

しかし、私は画像で成功していません:

image(m, col.regions = c(rep("red", 6), "blue", "green", "yellow"), at=1:9)

ドキュメントの細かい点を見逃している可能性があります...

于 2012-04-27T10:24:12.710 に答える
0

また、すべての値がNaNである別のマトリックスを作成し、強調表示する値に1の値を追加することもできます。

set.seed(1)
z <- matrix(rnorm(100), 10,10)
image(z)

z2 <- z*NaN
z2[order(z)[1:5]] <- 1
image(z2, add=TRUE, col=4)
于 2012-04-27T10:48:22.130 に答える