Как я могу передать переменную R в sqldf?
У меня есть такой запрос:
sqldf("select TenScore from data where State_P = 'AndhraPradesh'")
Но у меня есть "AndhraPradesh"
в переменной stateValue
, Как я могу использовать эту переменную в запросе выбора в R, чтобы получить тот же результат, что и выше.
Пожалуйста, покажите мне синтаксис.
3 ответа
Решение
Ты можешь использовать sprintf
:
sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))
Смотрите Пример 5 на странице sqldf GitHub.
Пример 5. Вставка переменных
Вот пример вставки оцененных переменных в запрос с использованием строковой интерполяции в стиле квазиперла в gsubfn. gsubfn используется sqldf, поэтому он уже загружен. Обратите внимание, что мы должны использовать префикс fn$ для вызова функции интерполяции:
> minSL <- 7
> limit <- 3
> species <- "virginica"
> fn$sqldf("select * from iris where \"Sepal.Length\" > $minSL and species = '$species' limit $limit")
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 7.1 3.0 5.9 2.1 virginica
2 7.6 3.0 6.6 2.1 virginica
3 7.3 2.9 6.3 1.8 virginica
Вы также можете использовать fn$sqldf
:
fn$sqldf("select TenScore from data where State_P = '$stateValue'")