两个数据帧中的一个ggplot(每个1条)



我到处都在寻找答案,但我就是找不到这个问题的答案(也许我太愚蠢了,没有使用其他答案,因为我是R的新手)。

我有两个不同行数的数据帧。我想创建一个包含每个数据帧一个条形图的绘图。两者应具有相同的长度,并且不同变量的计数应相互叠加。例如:我想将这些数据中的性别比例与数据集进行比较。

t1<-data.frame(cbind(c(1:6), factor(c(1,2,2,1,2,2)))) t2<-data.frame(cbind(c(1:4), factor(c(1,2,2,1))))

1代表男性,2代表女性我想创建两个并排的条形图,表示第一个数据帧中的性别比例为2:4,第二个数据帧为2:2。

我的尝试看起来是这样的:

ggplot()+geom_bar(aes(1,t1$X2,position="fill"

这导致了错误:"错误:stat_count()不能与y美学一起使用。"

首先我应该合并这两个数据帧。您需要添加一个标识数据来源的变量,在两个数据帧中添加一个ID为的列(如t1和t2)。请记住,您的列名在两个框架中都是相同的,因此您将能够使用函数rbind。

t1$data <- "t1"
t2$data <- "t2"
t <- (rbind(t1,t2))

现在你可以制作剧情:

ggplot(t[order(t$X2),], aes(data, X2, fill=factor(X2))) +        
geom_bar(stat="identity", position="stack")

相关内容

最新更新