如何在r中使用条件句

时间:2011-03-12 13:16:00

标签: r

假设我有一个带有两个变量x&的数据框。 y和因子f有两个等级a&湾 我希望R仅在plot(x,y)时使用f==a。通常我会对数据框进行子集化,但我想找到更有效的方法来实现它。我正在追求两种方式,但没有成功。

我正在尝试使用

for(i in f=="a"){plot(x,y)
}

但它与a和b都有关系 我也在尝试使用

ifelse(f=="a",plot(x,y),f)

但它返回此错误消息,我不明白。

Error in ans[test & !nas] <- rep(yes, length.out = length(ans))[test &  : 
  replacement has length zero

1 个答案:

答案 0 :(得分:2)

我会审核this question以获取更多详情。有几种方法可以做到这一点。需要注意的一点是,假设所有列都来自同一个data.frame,您必须首先引用data.frame对象,而不仅仅是您要绘制的列。例如,您可以拥有一个名为data.frame的{​​{1}},其中包含df列,然后您的环境中名为x,y,f的不同对象与您的完全不同且无关x,y,f。以下是一些例子:

data.frame