选择时,sqldf值大于所有值的中值
我正在尝试使用选择时,sqldf值大于所有值的中值,sql,r,Sql,R,我正在尝试使用sqldf查找收益率大于所有股票中值的所有股票记录,但我得到了这个消息 我已经尝试使用实际的数字2.39,它可以工作,但我没有成功地替换一个变量,使其动态。也许一个副选择会更好 mYd <- median(df3$Yield, na.rm = TRUE) df4 <- sqldf("SELECT a.* FROM df3 a WHERE (a.Yield > mYd) ;") mY
sqldf
查找收益率大于所有股票中值的所有股票记录,但我得到了这个消息
我已经尝试使用实际的数字2.39,它可以工作,但我没有成功地替换一个变量,使其动态。也许一个副选择会更好
mYd <- median(df3$Yield, na.rm = TRUE)
df4 <- sqldf("SELECT a.*
FROM df3 a
WHERE (a.Yield > mYd)
;")
mYd错误源于SQLdf无法在df3
中找到名为mYd
的列。它需要在数据框中为查询中引用的每个对应列查找列。尝试将mYd
变量作为列添加到df3
数据框中:
df3$mYd <- median(df3$Yield, na.rm=TRUE)
df4 <- sqldf("SELECT * FROM df3 WHERE Yield > mYd;")
df3$mYd在sqldf前面加上fn$,然后您可以通过在要插入的变量前面加上$符号来使用字符串插值fn$sqldf(“从df3中选择一个*,其中(a.Yield>$mYd)”)
请注意,不需要分号。