R上具有两个不同变量的条形图
要在同一条形图上绘制以下数据。这是一个长度-频率柱状图,显示了一个群体中的男性和女性的长度等级: 我是新手,我不知道如何将我的数据放在这里,但这里有一个例子:R上具有两个不同变量的条形图,r,graph,bar-chart,R,Graph,Bar Chart,要在同一条形图上绘制以下数据。这是一个长度-频率柱状图,显示了一个群体中的男性和女性的长度等级: 我是新手,我不知道如何将我的数据放在这里,但这里有一个例子: Lengthclass Both Males Females 60 7 5 2 70 10 5 5 80 11 6 5 90 4 2 2 100 3 3 0 110 3 0 3 120 1 1 0 130 0 0 0 140 1 0 1 150 2
Lengthclass Both Males Females
60 7 5 2
70 10 5 5
80 11 6 5
90 4 2 2
100 3 3 0
110 3 0 3
120 1 1 0
130 0 0 0
140 1 0 1
150 2 0 2
如果我使用此代码:
{barplot()}
它没有在同一个绘图上给出所有三个变量
我需要一张图,看起来像这样,但在R上。
谢谢:)您的条形图称为“分组条形图”(与“堆叠条形图”相反) 在
矩阵中排列数据
并在调用barplot()
时使用旁边的=TRUE
。以下是使用内置数据集的示例:
> VADeaths
Rural Male Rural Female Urban Male Urban Female
50-54 11.7 8.7 15.4 8.4
55-59 18.1 11.7 24.3 13.6
60-64 26.9 20.3 37.0 19.3
65-69 41.0 30.9 54.6 35.1
70-74 66.0 54.3 71.1 50.0
> barplot(VADeaths,beside=TRUE)
classes提示:只需粘贴dput(yourdata)
(或dput(head(yourdata))
的输出,就可以构建一个可复制的示例,并准确指示您使用的barplot()
命令。这使我们所有人都更容易帮助你。
classes <- levels(cut(60:100, breaks = c(60,70,80,90,100),
right =FALSE))
my.df <- data.frame(lengthclass = classes,
both = c(7,10,11,4),
male = c(5,5,6,2),
female = c(2,5,5,2))
barplot(t(as.matrix(my.df[, 2:4])),
beside = TRUE,
names.arg = my.df$lengthclass,
legend.text = TRUE,
ylim = c(0,12),
ylab = "number of individuals",
xlab = "Length class (cm)")