的整數對應於你的因子的水平。如果您想要在您的示例中報告散點圖,則可以使用軸功能簡單地設置軸的標籤。
plot(as.numeric(my_df$var_3), as.numeric(as.vector(my_df$var_1)), axes = F)
axis(side = 1, labels = levels(my_df$var_3), at = 1:length(levels(my_df$var_3)))
axis(side = 2)
box()
![enter image description here](https://i.stack.imgur.com/zskqL.png)
現在,如果你想多陰謀的結果,你可以做如下。
par(mfrow=c(3,3))
for (i in 1:ncol(my_df)){
for (j in 1:ncol(my_df)){
if (i == j) {
plot(1, cex = 0, ylim = c(0,2), xlim = c(0,2))
text(1, 1, labels = paste(names(my_df)[j]))
} else {
plot(as.numeric(my_df[,i]), as.numeric(my_df[,j]), axes = F,
xlab = names(my_df)[i], ylab = names(my_df)[j])
if (is.factor(my_df[,i])){
axis(side = 1, labels = levels(my_df[,i]), at = 1:length(levels(my_df[,i])))
} else {
axis(side = 1)
}
if (is.factor(my_df[,j])){
axis(side = 2, labels = levels(my_df[,j]), at = 1:length(levels(my_df[,j])))
} else {
axis(side = 2)
}
box()
}
}
}
par(mfrow=c(1,1))
![enter image description here](https://i.stack.imgur.com/XR3aQ.png)
絕對繁瑣,不是很漂亮,但你可以看到不同水平(類名)被保留,並在軸蜱繪製...
真棒解決方案,我如何保留變量名?我正在查看你的代碼,但是我的R技能是有限的 – user1700890
@ user1700890請參閱編輯,這是你的想法嗎? – rawr
完美工作,最初通過警告()! – user1700890