sqldf无法读取R中的逻辑向量
我试图将sqldf与在R中创建的数据帧一起使用。我的表有两列逻辑向量。我的代码看起来像来自df的sqldfSelect*,其中Dupe1='TRUE'或Dupe2='TRUE'。它返回错误:意外的数值常量。我不明白这意味着什么。我假设sql不能读取R的逻辑向量。任何解决方案都将不胜感激。这可能只是复制内容的方式,但在您的问题中,sql语句以两个单引号结束,而不是双引号。但这里最大的问题是,TRUE和FALSE不能存储为字符串。TRUE存储为1。FALSE存储为0。下面的代码就是你想要的。我添加了一个行号,以便我们可以看到选择了哪些行sqldf无法读取R中的逻辑向量,sql,r,logical-operators,sqldf,Sql,R,Logical Operators,Sqldf,我试图将sqldf与在R中创建的数据帧一起使用。我的表有两列逻辑向量。我的代码看起来像来自df的sqldfSelect*,其中Dupe1='TRUE'或Dupe2='TRUE'。它返回错误:意外的数值常量。我不明白这意味着什么。我假设sql不能读取R的逻辑向量。任何解决方案都将不胜感激。这可能只是复制内容的方式,但在您的问题中,sql语句以两个单引号结束,而不是双引号。但这里最大的问题是,TRUE和FALSE不能存储为字符串。TRUE存储为1。FALSE存储为0。下面的代码就是你想要的。我添加了
library(sqldf)
## Create test data
RowNum = 1:20
Dupe1 = runif(20) > 0.5
Dupe2 = runif(20) > 0.5
df = data.frame(RowNum, Dupe1, Dupe2)
sqldf("Select * from df where Dupe1=1 OR Dupe2=1")
RowNum Dupe1 Dupe2
1 3 TRUE TRUE
2 5 TRUE TRUE
3 6 FALSE TRUE
4 9 TRUE TRUE
5 10 FALSE TRUE
6 13 FALSE TRUE
7 14 TRUE TRUE
8 15 FALSE TRUE
9 17 FALSE TRUE
10 18 FALSE TRUE
11 20 FALSE TRUE
在R和任何符合SQL的数据库中,值True和False都不会被引用为字符串文本。或者从df中选择sqldfSelect*,其中Dupe1或Dupe2