我有一个这样的数据框:
epochs lm le kd
-------|-------|------|----
1 | 0.38 | 0.25 | 0.21
2 | 0.34 | 0.22 | 0.44
3 | 0.45 | 0.33 | 0.22
我想使用xyplot
中的lattice
与lm
,le
和kd
进行互动来绘制此图表。 X轴为epochs
,Y轴的范围为0.10至0.60(取决于数据)
我在下面试过但它不起作用,因为我不知道在Y轴放什么?
xyplot(epochs~'whattoputhere ??',data = data, + groups = paste(“Le =”,le,“lm =”,lm,“kd =”,kd), + type =“l”, + auto.key = + list(space =“right”,points = FALSE,lines = TRUE))
答案 0 :(得分:1)
通常格子函数将更容易使用"长数据"不幸的是你和你的#34; melt
函数对R用户来说是一个很棒的礼物(谢谢你,Hadley)。
> dat <- read.table(text="epochs | lm | le | kd
+ 1 | 0.38 | 0.25 | 0.21
+ 2 | 0.34 | 0.22 | 0.44
+ 3 | 0.45 | 0.33 | 0.22", header=TRUE,sep="|")
> require(reshape2)
Loading required package: reshape2
> datm <- melt(dat, id.var="epochs")
> str(datm)
'data.frame': 9 obs. of 3 variables:
$ epochs : num 1 2 3 1 2 3 1 2 3
$ variable: Factor w/ 3 levels "lm","le","kd": 1 1 1 2 2 2 3 3 3
$ value : num 0.38 0.34 0.45 0.25 0.22 0.33 0.21 0.44 0.22
xyplot(value ~ epochs, groups=variable, datm, type="b",
auto.key = list( space="right", points = FALSE, lines = TRUE) )