对散点图;一对多

时间:2015-05-01 07:39:42

标签: r

是否有一种简约的方法来创建pairs图,只将一个变量与其他变量进行比较?换句话说,我可以在不使用循环的情况下仅绘制标准pairs散点图矩阵的一行或一列吗?

3 个答案:

答案 0 :(得分:5)

将您的数据融化,然后将ggplot与facet一起使用。

library("ggplot2")
library("reshape2")

#dummy data
df <- data.frame(x=1:10,
                 a=runif(10),
                 b=runif(10),
                 c=runif(10))

#melt your data
df_melt <- melt(df,"x")

#scatterplot per group
ggplot(df_melt,aes(x,value)) +
  geom_point() +
  facet_grid(.~variable)

enter image description here

答案 1 :(得分:4)

我将使用基本绘图选项(使用@ zx8754中的df)将其四舍五入:

layout(matrix(seq(ncol(df)-1),nrow=1))
Map(function(x,y) plot(df[c(x,y)]), names(df[1]), names(df[-1]))

yeah

虽然可以说这仍然是使用Map的循环。

答案 2 :(得分:3)

为了好玩,使用lattice(使用@ zx8754“df_melt”):

library(lattice)

xyplot(value ~ x | variable, data = df_melt, layout = c(3,1), 
       between = list(x=1))

enter image description here