sqldf хранит логики как 0
и 1
целые числа, см. Этот пример:
# dummy data
OldDf <- head(mtcars[, 1:2])
OldDf$Test <- c(TRUE, FALSE)
OldDf
# mpg cyl Test
# Mazda RX4 21.0 6 TRUE
# Mazda RX4 Wag 21.0 6 FALSE
# Datsun 710 22.8 4 TRUE
# Hornet 4 Drive 21.4 6 FALSE
# Hornet Sportabout 18.7 8 TRUE
# Valiant 18.1 6 FALSE
library(sqldf)
sqldf("select * from OldDf where Test = 1")
# mpg cyl Test
# 1 21.0 6 TRUE
# 2 22.8 4 TRUE
# 3 18.7 8 TRUE
# This also works, to filter on TRUE
sqldf("select * from OldDf where Test")
# mpg cyl Test
# 1 21.0 6 TRUE
# 2 22.8 4 TRUE
# 3 18.7 8 TRUE
# To get FALSE
sqldf("select * from OldDf where NOT Test")
# mpg cyl Test
# 1 21.0 6 FALSE
# 2 21.4 6 FALSE
# 3 18.1 6 FALSE