如何根据列绘制图形中的图形

时间:2015-01-06 17:06:51

标签: r lattice

我有一个这样的数据框:

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中的latticelmlekd进行互动来绘制此图表。 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))

1 个答案:

答案 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) )

enter image description here