说我有一个矩阵:
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])
以“正确”的方式获得它。有什么意义?
答案 0 :(得分:6)
从帮助文件中:
请注意,图像将z矩阵解释为f(x [i],y [j])的表 值,使x轴对应行号,y轴对应 列号,底部是第1列,即90度 逆时针旋转传统的印刷布局a 基质
答案 1 :(得分:6)
其他人已经指出,你所看到的与文档一致,这里有几个关于它为什么这样做的想法。
图像功能最初并非设计用于绘制图像/图形,而是以图形方式表示表格信息,因此事物的排序旨在与其他图形理想保持一致,而不是确保剪贴画看起来正确。这意味着图像的旋转和镜像不会使其“错误”,它只是一个不同的视图,并且选择了遵循绘图规则的视图。
它还尝试与其他图形功能及其所基于的理念保持一致。对于散点图,我们使用plot(x,y)
并将x
作为水平轴,但是当我们执行table(x,y)
时,x
变量会形成结果表的行。这两个事实都与通常的做法一致(解释变量通常是表中的行变量,因为数字更容易垂直比较)。因此,图像函数使用矩阵的行(如果来自表函数,则为x变量)作为横轴上的预测变量/解释变量。通常情况下,地块中的数值从左到右,从下到上增加(但在表格中,从上到下增加更为常见)。