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不过,没问题,它需要更多的代码来复制简单的baseimage
函数的输出。
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()