R - 如何在分组条形图上绘制百分比图表?

时间:2016-01-10 03:41:22

标签: r

我进行了一项关于谁最常使用社交媒体的调查:男性还是女性?总计是使用它的人数。社交媒体变量中的第一个数字是男性,第二个是女性。

 total <- c(24,21)
 facebook <- c(14,12)
 google_plus <- c(5,10)
 snapchat <- c(15,18)
 ifunny <- c(3,4)
 skype <- c(9,10)
 instagram <- c(21,18)
 ask_fm <- c(1,5)
 kik <- c(18,16)
 tumblr <- c(2,9)
 twitter <- c(10,12)
 fb_labels<-(facebook/total*100)
 fb_labels<-paste(fb_labels,"%")
 gplus_labels<-(google_plus/total*100)
 gplus_labels<-paste(gplus_labels,"%")
 snapchat_labels<-(snapchat/total*100)
 snapchat_labels<-paste(snapchat_labels,"%")
 ifunny_labels<-(ifunny/total*100)
 ifunny_labels<-paste(ifunny_labels,"%")
 skype_labels<-(skype/total*100)
 skype_labels<-paste(skype,"%")
 instagram_labels<-(instagram/total*100)
 instagram_labels<-paste(instagram_labels,"%")
 askfm_labels<-(ask_fm/total*100)
 askfm_labels<-paste(askfm_labels,"%")
 kik_labels<-(kik/total*100)
 kik_labels<-paste(kik_labels,"%")
 tumblr_labels<-(tumblr/total*100)
 tumblr_labels<-paste(tumblr_labels,"%")
 twitter_labels<-(twitter/total*100)
 twitter_labels<-paste(twitter_labels,"%")

我的问题是,如何绘制分组条形图上的百分比?我试过的时候:

 dat <- cbind(fb_labels,gplus_labels)
 barplot(dat,beside=TRUE)

我得到了:

Error in -0.01 * height : non-numeric argument to binary operator

谢谢!

1 个答案:

答案 0 :(得分:1)

您在fb_labelsgplus_labels上粘贴了百分号,因此他们现在是字符串,而不是数字。只有数字的重建版本可以正常工作:

dat <- cbind(fb_labels = facebook/total*100, gplus_labels = google_plus/total*100)