首先,我有一个包含两个分类变量的数据,如下所示:
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))
我认为问题是与margin = 1相关的
谢谢!
答案 0 :(得分:0)
您可能正在寻找类似position = "dodge"
如果我对您的数据执行以下操作:
P <- prop.table(table(data$sexo,data$pais), margin=1)
ggplot(as.data.frame(P), aes(x = Var2, y = Freq, fill = Var1)) +
geom_bar(stat="identity", position = "dodge")
我输出以下图形:
答案 1 :(得分:0)
您需要制作同一张桌子
$arrayVariable = array (
"Usuario" => "user",
"Clave" => "test"
);
$res = urlencode(json_encode($arrayVariable));
然后情节:
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()