如何在R中绘制数据帧的子集?

时间:2011-11-28 09:04:15

标签: r plot subset

在R中是否有一种简单的方法:

plot(var1,var2, for all observations in the data frame where var3 < 155)

可以通过创建新数据newdata <- data[which( data$var3 < 155),],但我必须重新定义所有变量newvar1 <- newdata$var1等。

4 个答案:

答案 0 :(得分:25)

with(dfr[dfr$var3 < 155,], plot(var1, var2))应该可以解决问题。

关于多个条件的

编辑

with(dfr[(dfr$var3 < 155) & (dfr$var4 > 27),], plot(var1, var2))

答案 1 :(得分:10)

最简单的选择:

plot(var1[var3<155],var2[var3<155])

由于代码冗余,它看起来不太好,但对于快速n脏黑客攻击是好的。

答案 2 :(得分:4)

这就是我要做的,为了获得var4限制:

dfr<-data.frame(var1=rnorm(100), var2=rnorm(100), var3=rnorm(100, 160, 10), var4=rnorm(100, 27, 6))
plot( subset( dfr, var3 < 155 & var4 > 27, select = c( var1, var2 ) ) )

RGDS, 赖

答案 3 :(得分:0)

这个块应该做的工作:

plot(var2 ~ var1, data=subset(dataframe, var3 < 150))

我最诚挚的问候。

这是如何运作的:

  1. Fisrt,我们使用子集函数进行选择。可以使用其他可能性,例如子集(dataframe,var4 ==&#34; some&#34;&amp; var5&gt; 10)。 &#34; &amp; &#34;运算符可用于选择所有&#34; some&#34; 超过10.此外,运营商&#34; | &#34;可以用来选择&#34;一些&#34; &#34;超过10&#34;。
  2. 下一步是使用波形符(〜)运算符绘制子集的结果,这只是暗示一个公式,在本例中为var.response~var.independet。当然,这不是一个公式,但对于这种情况很有用。