【发布时间】:2013-12-05 16:26:31
【问题描述】:
我有一个包含纵向数据的数据框,看起来像这样
测试
Names hr1 hr2 hr3 hr4 workhr_bin
41 80 76 70 60 7
42 80 74 75 NA 8
43 85 NA 60 65 6
44 NA NA NA 60 3
45 80 70 NA NA 8
46 NA NA NA 60 3
hr1、hr2、hr3、hr4 的变量包括“姓名”列下受试者在重复的时间间隔内报告的服务时间。 “workhr_bin”列包括使用 quantile 函数获得的 bin。总共有十个箱子,1:10。
我正在尝试生成多个按垃圾箱分面的小时数意大利面图。基本上它应该产生 10 个图,一个图用于 bin 1 中的数据,另一个图用于数据 bin 2 等。
我试过了:
head(melt(test[,c(2:6)]))
但我最终得到了 workhr_bin 变量消失了,而是像这样的文件:
variable value
1 hours1 80
2 hours1 80
3 hours1 85
4 hours1 NA
5 hours1 80
6 hours1 NA
我也试过
melt(test, id.var = "Names")
我最终得到了 workhr_bin 变量也消失了
Names variable value
41 hr1 80.00
42 hr1 80.00
43 hr1 85.00
我尝试使用 lattice 和 ggplot2,但由于某种原因,我无法将我的数据转换为正确的格式来生成代表每个 bin 内样本的意大利面条 10 个图。
基本上我需要一个数据框:
Names variable value workhr_bin
41 hr1 80.00 7
42 hr1 80.00 8
43 hr1 85.00 6
然后我希望能够在 x 轴上创建一个带有“变量”的 bin 多色意大利面条图(由 hr1、hr2、hr3、hr4 组成)和相应的y 轴上的“值”。
【问题讨论】: