如何处理重叠因子水平? (例如,在制作桌子和地块时)

问题描述 投票:1回答:1

我面临着一个数据集问题,该数据集具有重叠的因子水平。

我想按因子水平制作时间表,条形图和统计数据 - 但是,我希望因子水平是模棱两可的。这意味着属于多个级别的观测值应在图中多次出现。

以下是我的数据结构的示例:

head <- c("ID","YEAR","BRAZIL","GERMANY","US","FRANCE")
data <- data.frame(matrix(c(1,2000,1,0,0,0,
                            2,2010,0,1,1,0,
                            3,2011,0,1,0,0,
                            4,2012,1,0,0,1,
                            5,2012,0,1,0,0,
                            6,2013,0,0,0,1), 
                         nrow=6, ncol=6, byrow=T))
names(data) <- head

显然,一个可能的因子变量qazxsw poi不能以通常的方式创建。这将迫使要素水平明确(在我们的案例中,将有4个级别:巴西,德国,美国和法国):

"COUNTRY"

等等...

data$COUNTRY[data$BRAZIL==1 & 
             data$GERMANY==0 & 
             data$US==0 & 
             data$FRANCE==0]  <- "Brazil"
data$COUNTRY[data$BRAZIL==0 & 
             data$GERMANY==1 & 
             data$US==0 & 
             data$FRANCE==0]  <- "Germany"

但这不是什么,我想......


我的问题是,只有因子水平是明确无误的,才能通过因子进行绘图。我想生产这样的东西:

factor(data$COUNTRY)

具有属于i因子水平的观察值在图中出现i次。

  • 我应该如何转换我的data.frame以获得我想要的东西?
  • 我应该简单地复制那些属于i因子水平的观察吗?如果是的话,我该怎么做?
  • 是一种不需要重复案例的解决方法吗?

想法有人吗?

r dataframe ggplot2 r-factor
1个回答
1
投票

我认为你必须复制那些行来代表每个观察。并删除任何0。

require(ggplot2)
MYPLOT <- qplot(data$YEAR, data$COUNTRY)
MYPLOT + geom_point(aes(size=..count..), stat="bin") + scale_size(range=c(0, 15)) 
© www.soinside.com 2019 - 2024. All rights reserved.