在R中的矩阵中跨列单元格绘制行单元格

在R中的矩阵中跨列单元格绘制行单元格,r,matrix,plot,regression,anova,R,Matrix,Plot,Regression,Anova,我有一个2 x 3的矩阵,叫做a。我想知道是否有一种方法可以绘制这个矩阵,这样我就可以看到行单元格(“m”和“f”)的值如何在列单元格(“a”,“b”,“c”)之间变化 下图显示了所需绘图的概念形式 (注意:我想这个想法与interaction.plot()的工作原理非常相似) 以下是我尝试过但没有成功的方法: a = matrix(c(15,14, 16,40, 42,41), nrow = 2, dimnames = list(A = c("m", "f"), B = c("a", "b",

我有一个2 x 3的矩阵,叫做
a
。我想知道是否有一种方法可以绘制这个矩阵,这样我就可以看到行单元格(
“m”
“f”
)的值如何在列单元格(
“a”
“b”
“c”
)之间变化

下图显示了所需绘图的概念形式

注意:我想这个想法与
interaction.plot()
的工作原理非常相似)

以下是我尝试过但没有成功的方法:

a = matrix(c(15,14, 16,40, 42,41), nrow = 2, dimnames = list(A = c("m", "f"), B = c("a", "b", "c")))
plot(a, xaxt = "n", ylab = "Scores", xlab = "B")
g = axTicks(1)
n = length(colnames(a))
u = diff(range(g))/n
d = seq(min(g), max(g), len = n)
axis(1, at = d, lab = dimnames(a)[[2]], font = 2)
lines(a[1,], a[2,])
像这样的东西

a = matrix(c(15,14, 16,40, 42,41), nrow = 2, 
      dimnames = list(A = c("m", "f"), B = c("a", "b", "c")))
matplot(t(a), type = "b", pch=19, xaxt="n")
axis(1, at = 1:ncol(a), labels = colnames(a))

因为这就是
matplot
的编写方式,
matplot
在没有转置的情况下工作(作为练习,请删除
t
,看看会发生什么)。只是你没有得到想要的结果(对我来说,“不工作”意味着函数调用抛出了一个错误)。matplot遍历列而不是行的原因可能是因为在R中,列通常表示变量,而行表示观察值。通常,我们希望绘制变量,而不是观察值。