dan*_*kas 4 transpose r image matrix
说我有一个矩阵:
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
Run Code Online (Sandbox Code Playgroud)
现在,当我这样做
image(m)
Run Code Online (Sandbox Code Playgroud)
我得到了意外的输出.所以我需要这样做:
image(t(m)[,4:1])
Run Code Online (Sandbox Code Playgroud)
让它成为"正确"的方式.有什么意义?
其他人指出,你所看到的与文档一致,这里有几个关于它为什么这样做的想法.
图像功能最初并非设计用于绘制图像/图形,而是以图形方式表示表格信息,因此事物的排序旨在与其他图形理想保持一致,而不是确保剪贴画看起来正确.这意味着图像的旋转和镜像不会使其"错误",它只是一个不同的视图,并且选择了遵循绘图规则的视图.
它还试图与其他图形函数及其所基于的理念保持一致.对于散点图,我们使用plot(x,y)的x是水平轴,但是当我们这样做时table(x,y),x变量形成了结果表的行.这两个事实都与通常的做法一致(解释变量通常是表中的行变量,因为数字更容易垂直比较).因此,图像函数使用矩阵的行(如果来自表函数,则为x变量)作为横轴上的预测变量/解释变量.通常情况下,图中的值从左到右和从下到上增加(但在表中,从上到下增加更常见).