Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 - Fatal编程技术网

在R图中用百分比标记

在R图中用百分比标记,r,R,嗨,我做了这个函数,它获取一个表格并为条形图准备标签 prepare_labels <- function(ft){ labs <- ft labs <- paste(labs, "\n", sep="") labs <- paste(labs, round(prop.table(ft)*100,2), sep="") labs <- paste(labs, "%", sep="") return(labs) } prepare_labels由

嗨,我做了这个函数,它获取一个表格并为条形图准备标签

prepare_labels <- function(ft){
  labs <- ft
  labs <- paste(labs, "\n", sep="")
  labs <- paste(labs, round(prop.table(ft)*100,2), sep="")
  labs <- paste(labs, "%", sep="")
  return(labs)
}

prepare_labels由于sep参数对于所有粘贴调用都是相同的,因此您可以合并为一个:

labs <- paste(ft,"\n",round(prop.table(ft)*100,2),"%",sep="")

labs使用
sprintf

sprintf("%d\n%2.2f%%", ft, prop.table(ft)*100)

或者,使用
ggplot2

ggplot(mtcars, aes(factor(cyl))) + geom_bar() + stat_bin(aes(label = paste(prop.table(..count..) * 100, "%", sep = "")), vjust = -0.2, geom = "text", position = "identity")
然后得到这样的结果:


这真是太好了!您知道如何使用ggplot对列重新排序吗。我有5个级别,但它们的显示顺序错误。“不知道”、“可能有趣”、“不有趣”、“非常有趣”、“非常不有趣”我想按顺序排列不知道、非常不有趣、不有趣、可能有趣、非常有趣当然你可以:
ggplot(mtcars,aes(factor(cyl))+geom\u bar()+scale\u x\u离散(limits=c(“6”、“8”、“4”)
。这是一份官方文件:Thabk you aL3xa。。。很抱歉再次问你这个问题。。。行stat_bin(aes(label=paste(round((prop.table(…count….)*100),2),“%”,sep=“”)恢复了之前的顺序。我想这是因为prop.table(…count….)有不同的顺序。知道如何在prop.table中定义顺序吗检查这一行:
ggplot(mtcars,aes(factor(cyl))+geom_bar()+stat_bin(aes(标签=粘贴(道具表格(…计数…)*100,“%,sep=”),vjust=-0.2,geom=“text”,position=“identity”)
和这一个
ggplot(mtcars,aes(系数(cyl))+geom_bar()+比例离散(限值=c(“6”,“8”,“4”)+stat_bin(aes(标签=粘贴(道具表格(…计数…)*100,“%,sep=”),just=-0.2,geom=“文本”,位置=“身份”)
ggplot(mtcars, aes(factor(cyl))) + geom_bar() + stat_bin(aes(label = paste(prop.table(..count..) * 100, "%", sep = "")), vjust = -0.2, geom = "text", position = "identity")