Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 假人黑白马赛克图/网格图_R_Plot_Ggplot2_Vcd - Fatal编程技术网

R 假人黑白马赛克图/网格图

R 假人黑白马赛克图/网格图,r,plot,ggplot2,vcd,R,Plot,Ggplot2,Vcd,我有一个由假人组成的数据集,如下所示: # Example data set.seed(123) data <- data.frame(x1 = rbinom(10, 1, 0.3), x2 = rbinom(10, 1, 0.6), x3 = rbinom(10, 1, 0.5)) #示例数据 种子集(123) 数据图像功能可能是用颜色显示矩阵的最简单方法。您需要将其转置并反转,以获得正确的顺序 image(t

我有一个由假人组成的数据集,如下所示:

# Example data
set.seed(123)
data <- data.frame(x1 = rbinom(10, 1, 0.3),
                   x2 = rbinom(10, 1, 0.6),
                   x3 = rbinom(10, 1, 0.5))
#示例数据
种子集(123)

数据图像
功能可能是用颜色显示矩阵的最简单方法。您需要将其转置并反转,以获得正确的顺序

image(t(as.matrix(data[nrow(data):1, ])), col = c(0, 1), axes = FALSE)
axis(1, seq(0, 1, l = ncol(data)), seq_len(ncol(data)))
axis(2, seq(0, 1, l = nrow(data)), seq_len(nrow(data)))
legend(1.1, 0, c(0:1), fill = c(0, 1), xpd = TRUE)

以下是使用ggplot:

库(ggplot2)
库(tidyr)#将宽格式转换为长格式

我认为X轴是x1,x2,x3。x轴是变量1-10,所以如果你考虑我上面的示例数据,它将是x1,x2,x3。y轴是行,所以在我上面的例子中是1:10。很好,当你知道怎么做的时候,这很容易。非常感谢阿克斯曼!非常感谢@zx8754!很高兴有一个替代品ggplot2@JoachimSchork不过,没问题,它需要更多的代码来复制简单的base
image
函数的输出。
library(ggplot2)
library(tidyr) #to convert wide to long format

plotDat <- gather(data, key = "x", value = "Estimate")
plotDat <- cbind(plotDat, y = 1:10)
plotDat$Estimate <- as.factor(plotDat$Estimate)

ggplot(plotDat, aes(x, y, fill = Estimate)) +
  geom_tile()