Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 比例叠加条形图_R_Ggplot2_Bar Chart - Fatal编程技术网

R 比例叠加条形图

R 比例叠加条形图,r,ggplot2,bar-chart,R,Ggplot2,Bar Chart,我试图制作一个堆叠条形图,其中一个变量是第二个变量的比例。数据是 snps2 ors2 orm2 1 ABCA7 0.00000000 0.4140283 2 B1NI 0.00000000 0.3140075 3 CD2AP 0.00000000 0.2087200 4 CD33 0.22665737 0.2266574 5 CLU 0.12221763 0.2444353 6

我试图制作一个堆叠条形图,其中一个变量是第二个变量的比例。数据是

   snps2       ors2       orm2
1  ABCA7     0.00000000  0.4140283  
2  B1NI      0.00000000  0.3140075  
3  CD2AP     0.00000000  0.2087200
4  CD33      0.22665737  0.2266574  
5  CLU       0.12221763  0.2444353  
6  CR1       0.00000000  0.3140075  
7  EPAH1     0.22665737  0.2266574  
8  MS4A4A    0.24443527  0.2444353  
9  MS4A4E    0.07696104  0.1539221  
10 MSA6A     0.20872003  0.2087200  
11 PICALM    0.12221763  0.2444353  
12 APOE_e2   0.00000000 -1.3862944  
13 APOE_e4   0.00000000  2.6752584  
ors2的值始终为orm2值的0%、50%或100%。
我已将其重新构造为一个长格式,以便在ggplot2中使用

dat_m <- melt(mydata)
ggplot(dat_m, aes(snps2, value, fill = variable)) + geom_bar(stat = "identity")

dat_m您可能希望使用减淡条形图而不是堆叠条形图:

ggplot(dat_m, aes(snps2, value, fill = variable)) + 
  geom_bar(stat = "identity", position='dodge')


在堆叠条形图中,值总是求和。

否则请更改变量,如

dat$orm2 <- dat$orm2 - dat$ors2

dat$orm2因为在堆叠条形图中,值总是求和的,所以在绘制之前只需减去:orm2=orm2-ors2

require(reshape2)
require(ggplot2)


mydata$orm2_adj=mydata$orm2-mydata$ors2
summary(mydata)
dat_m <- melt(mydata[,-3])

ggplot(dat_m, aes(snps2, value, fill = variable,color=variable)) +
  geom_bar(stat = "identity")+
  scale_color_manual(values=c("red","transparent"))

require(重塑2)
需要(ggplot2)
mydata$orm2_adj=mydata$orm2 mydata$ors2
摘要(mydata)
达图姆
require(reshape2)
require(ggplot2)


mydata$orm2_adj=mydata$orm2-mydata$ors2
summary(mydata)
dat_m <- melt(mydata[,-3])

ggplot(dat_m, aes(snps2, value, fill = variable,color=variable)) +
  geom_bar(stat = "identity")+
  scale_color_manual(values=c("red","transparent"))