4

行列があるとします:

m<-matrix(1:5,4,5)
m
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5    4    3    2
[2,]    2    1    5    4    3
[3,]    3    2    1    5    4
[4,]    4    3    2    1    5

今、私がするとき

image(m)

予期しない出力が得られます。そして、私はする必要があります:

image(t(m)[,4:1])

それを「正しい」方法で取得します。ポイントは?

4

2 に答える 2

6

他の人は、あなたが見ていることはドキュメントと一致していると指摘しています.

画像関数はもともと画像/グラフィックスをプロットするために設計されたのではなく、表形式の情報をグラフィカルに表現するために設計されました。したがって、物事の順序は、クリップアートが正しく見えることを確認するのではなく、他のグラフの理想と一致することを目的としていました. これは、イメージの回転と鏡像化が「間違った」ものになるのではなく、単に別のビューであり、プロット ルールに従ったビューが選択されたことを意味します。

また、他のグラフ作成機能およびそれらが基づいている哲学との一貫性を保とうとしました。散布図の場合、横軸として使用plot(x,y)しますが、変数を使用すると、結果のテーブルの行が形成されます。これらの事実は両方とも、一般的な慣行と一致しています (数値は縦方向に比較しやすいため、説明変数は通常、表の行変数です)。そのため、画像関数は行列の行 (表関数から取得した場合は x 変数) を横軸の予測変数/説明変数として使用します。プロットの値が左から右、下から上に増加することも慣例です (ただし、テーブルでは、上から下に増加するのがより一般的です)。xtable(x,y)x

于 2012-04-12T18:42:37.607 に答える
6

ヘルプ ファイルから:

image は z マトリックスを f(x[i], y[j]) 値のテーブルとして解釈することに注意してください。そのため、x 軸は行番号に対応し、y 軸は列番号に対応し、列 1 が下部にある、つまりマトリックスの従来の印刷レイアウトを反時計回りに 90 度回転させます。

于 2012-04-12T13:19:48.393 に答える