子集邮政编码范围

时间:2019-04-03 02:47:49

标签: r

我正在尝试使用一系列邮政编码对数据框进行子集化。我不确定我编写的代码出了什么问题:

所以邮政编码的范围是:6000-6199和6800-6999(邮政编码是整数)

df1 <- subset(df, ((df$postcode>=6000 && df$postcode<=6199) | (df$postcode>=6800 && df$postcode<=6999)))

这是我得到的错误:

  

错误:出现意外符号:   “ df1 <-subset(df,(df $ postcode> = 6000&df $ postcode <= 6199 |(df $ postcode> = 6800&df $ postcode <= 6999)))   df1”

也许有一种方法可以使用邮政编码矢量进行写?

我也尝试过:

df1<-subset(df, (df$postcode in [6000:6199] | df$postcode in [6800:6999]))

但它返回此错误消息:

  

错误:“ df1 <-subset(df,(df $ postcode in”)中出现意外的'in',这让我觉得我不能使用术语“ in”。

我确定解决方案很简单,但我无法弄清楚。

在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

在第一种情况下,它可能是&而不是&&

subset(df, ((postcode>=6000 & postcode<=6199) | (postcode>=6800 & postcode<=6999)))

第二秒

subset(df, (postcode %in% c(6000:6199, 6800:6999)))

注意:在subset中,不需要df$来提取列