首先,我有一个带有两个分类变量的数据,如下所示:
nombre <- c("A","B","C","A","D","F","F","H","I","J")
sexo <- c(rep("man",4),rep("woman",6))
edad <- c (25,14,25,76,12,90,65,45,56,43)
pais <- c(rep("spain",3),rep("italy",4),rep("portugal",3))
data <- data.frame(nombre=nombre,sexo=sexo,edad=edad,pais=pais)
如果我使用:
prop.table(table(data$sexo,data$pais), margin=1)
我可以看到各个级别的相对频率,例如 Italy
(Man=0.25 Woman=0.5)
但是问题是当我尝试绘制时,prop.table(table(x))
我得到了一些不同的东西
ggplot(as.data.frame(prop.table(table(data),margin=1)), aes(x=pais ,y =Freq, fill=sexo))+geom_bar(stat="identity")
在Y
0到3的轴上,例如在条形图中,Italy
(Woman=2 Man=2.5)
我不需要(并且我不知道显示的内容),我想要的与我的表格相同prop.table(table(x))
我认为问题是与保证金= 1相关的
谢谢!
你需要做一张桌子
tab = prop.table(table(data$sexo,data$pais), margin=1)
tab = as.data.frame(tab)
然后绘制:
ggplot(tab,aes(x=Var2,y=Freq,fill=Var1)) + geom_col()
或者简单地:
barplot(prop.table(table(data$sexo,data$pais), margin=1))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句