了解R中的xyplot

时间:2011-09-26 19:46:41

标签: r plot dataframe

我是R新手,我正在尝试理解格子中的xyplot函数。

我有一个数据框:

df <- data.frame(Mean=as.vector(abc), Cycle=seq_len(nrow(abc)), Sample=rep(colnames(abc), each=nrow(abc)))

我可以使用

绘制它
xyplot(Mean ~ Cycle, group=Sample, df, type="b", pch=20, auto.key=list(lines=TRUE, points=FALSE, columns=2), file="abc-quality")

我的问题是,什么是均值和周期?看看?xyplot我可以看到这是某种功能,我知道它们来自数据框df,但我看不到ls()>Mean给出{{1} }。我试图通过用df [1]和df [2]代替均值和周期来复制该图,分别认为这些是相等的但似乎并非如此。有人可以解释这些数据类型(对象,变量等)以及是否有通用方法来访问它们(如df [1]和df [2])?

谢谢!

编辑:xyplot工作正常,我只是想了解它们与df(列标签?)的关系,以及是否有一种方法将它们放入xyplot函数而不引用它们按名称,如df [1]而不是Mean。

2 个答案:

答案 0 :(得分:3)

这些只是对df

列的引用

如果您希望每次都按名称访问它们而不提及df,则可以写with(df,{ ...your code goes here... })。 ...your code goes here...数据块只需MeanCycle即可访问这些列。

获取这些列的更直接方式是df$Meandf$Cycle。您也可以按位置df[,1]df[,2]来引用它们,但我很难理解您为什么要这样做。

xyplot调用有效的原因是它隐含地相当于with(df),其中dfxyplot的第三个参数。许多R函数都是这样的,例如lm(y~x,obs)也会正确地从数据框x中选取列yobs

答案 1 :(得分:2)

您需要在致电, data=df时添加xyplot()

xyplot(Mean ~ Cycle, data=df,                  # added data= argument
       group=Sample, type="b", pch=20, 
       auto.key=list(lines=TRUE, points=FALSE, columns=2), 
       file="abc-quality")

或者,你可以with(df, ....)将现有的电话放在我留下四个点的地方。