我是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。答案 0 :(得分:3)
这些只是对df
。
如果您希望每次都按名称访问它们而不提及df
,则可以写with(df,{ ...your code goes here... }
)。 ...your code goes here...
数据块只需Mean
和Cycle
即可访问这些列。
获取这些列的更直接方式是df$Mean
和df$Cycle
。您也可以按位置df[,1]
和df[,2]
来引用它们,但我很难理解您为什么要这样做。
xyplot
调用有效的原因是它隐含地相当于with(df)
,其中df
是xyplot
的第三个参数。许多R函数都是这样的,例如lm(y~x,obs)
也会正确地从数据框x
中选取列y
和obs
。
答案 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, ....)
将现有的电话放在我留下四个点的地方。