• R语言
  • 请问如何在data.frame中选择具体的行

需求是这样子的,例如我有如下的data.frame

sex,income,position

m,100,200

f,100,300

m,200,100

....

我想从中挑出income在【100,200】之间的数据行,这步我能用sqldf来实现

但问题是如果[100,200]不是一个定值,而是用一个变量var保存着,事先你并不知道这个变量的内容

麻烦的地方就是在于,如何把这个变量var跟data.frame的指定行查询结合起来呢?

回复 第1楼 的 whatusaid:

<br />
dat[dat[,2]<=var[2]&dat[,2]>=var[1],]<br />
</p>

类似于这样吧,用 sprintf 也一样

<br />
sqldf(paste('select * from xxx where income >', var[1], 'AND income <', var[2], ...))<br />
</p>