2

我有一个用于 7 名学生(名为“TVwatch”)在工作日和周末观看电视的数据集,如下所示:

几个小时看电视:

Names   Wkdays Wkend        
Dawn     5.0    4.5
Steve    9.8    2.0
Lena     3.5    5.5
Patty    9.6    4.3
Ania     8.3    3.2
Beth     9.3    2.5
Roby     2.5    7.4

如何创建一个比较图,其中垂直条将显示 R 中每个学生(在 X 轴上)在 wkdays 和 wkends(在 Y 轴上)的电视观看时间(类似于 Excel 中的聚集列)?

谢谢,

4

2 回答 2

2

Lattice 是一个非常好的方法(+1 到@agstudy)。如果你想要一个基本的 R 方法,你可以试试这个:

d = read.table(text="Names   Wkdays Wkend        
Dawn     5.0    4.5
Steve    9.8    2.0
Lena     3.5    5.5
Patty    9.6    4.3
Ania     8.3    3.2
Beth     9.3    2.5
Roby     2.5    7.4", header=T)

d = t(as.matrix(d[,2:3]))
d = as.table(d)
colnames(d) = c("Dawn", "Steve", "Lena", "Patty", "Ania", "Beth", "Roby")

windows()
  barplot(d, beside=T)

在此处输入图像描述

关键函数是?barplot,关键参数是beside=TRUE. 您可以在Quick-R 网站上了解有关 R 中的条形图的更多信息。

于 2013-06-20T22:40:35.383 回答
1

例如:

library(lattice)
barchart(Wkdays + Wkend~Names,data=dat,auto.key=TRUE)

在此处输入图像描述

于 2013-06-20T18:47:46.523 回答