R:如何舍入数值并使用ggplot2做条形图?

时间:2018-08-15 14:04:31

标签: r ggplot2 reshape2

在问这个问题之前,我只是阅读了很多问题和答案。但是,我没有找到确切的答案。它不起作用。

我有这个数据框:

data frame

更新#也以R格式重写:

structure(list(abzufr = structure(c(5L, 3L, 2L, 6L, 4L, 5L), .Label = 
c("#NULL!", 
"1", "2", "3", "4", "5", "9"), class = "factor"), variable = structure(c(1L, 
1L, 1L, 1L, 1L, 2L), class = "factor", .Label = c("überhauptnicht", 
"ehernicht", "teilweise", "eherja", "vollundganz")), value = 
c("9.90990990990991", 
"11.038961038961", "4.98687664041995", "6.55737704918033", 
"9.03225806451613", 
"22.5225225225225")), .Names = c("abzufr", "variable", "value"), class = 
c("data.table", "data.frame"), row.names = c(NA, -6L
), .internal.selfref = <pointer: 0x00000000001f0788>)

我之前已经进行了调整,所以已经准备好使用ggplot2制作条形图的数据。

这样做会很奇怪,因为y轴上的数字不是从0开始排序,而是以某种方式未排序:

ggplot(Percentage.melt, aes(variable, value, fill = abzufr))+
  geom_bar(position = "dodge", stat="identity")+
  scale_x_discrete(labels=c("überhaupt nicht", "eher nicht", "teilweise", "eher ja", "voll und ganz"))+
  scale_fill_brewer(palette ="YlOrRd", name="Arbeitszufriedenheit", labels=c("resignative Zufriedenheit","konstruktive Unzufriedenheit", "stabilisierte Zufriedenheit","fixierte Unzufriedenheit", "progressive Zufriedenheit"))+
  theme_bw()+
  theme(axis.title.y = element_blank(), axis.title.x = element_blank(), axis.text.x = element_text(), axis.text.y = element_text())+
  ggtitle("Bedenken/Sorgen bezüglich organisationalen Abläufen")`

graphic

在我通过以下方式计算每个类别的百分比之前:

library(data.table)
Percentage<-setDT(newdata)[ , .(überhauptnicht = paste0(( nrow(.SD[sil2 == 
"1.0"]) / .N ) * 100), 
  ehernicht = paste0(( nrow(.SD[sil2 == "2.0"]) / .N ) * 100), 
  teilweise = paste0(( nrow(.SD[sil2 == "3.0"]) / .N ) * 100), 
  eherja = paste0(( nrow(.SD[sil2 == "4.0"]) / .N ) * 100),
  vollundganz = paste0(( nrow(.SD[sil2 == "5.0"]) / .N ) * 100))   , by = 
abzufr]

我试图将数字四舍五入

library(dplyr) 
Percentage.melt %>% mutate_if(is.numeric, round, digits=2)

和此处在r上讨论的其他选项无效。 有人知道如何四舍五入这个数字,并使其在y轴上显示为“以0或更高排序的法线”吗?

感谢每位帮助

0 个答案:

没有答案