2011-09-25 16 views
7

Mam zapytanie tak:Jak mogę przekazać zmienną R do sqldf?

sqldf("select TenScore from data where State_P = 'AndhraPradesh'") 

Ale mam "AndhraPradesh" w zmiennej stateValue. Jak mogę użyć tej zmiennej w zapytaniu wyboru w R, aby uzyskać taki sam wynik jak powyżej.

Pokaż mi składnię.

Odpowiedz

10

Można użyć sprintf:

sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue)) 
+0

ja nie polecam tego. Zobacz przykład 5 na stronie głównej github sqldf dla metody normalnie używanej z sqldf. –

4

Zobacz Example 5 na sqldf GitHub page.


Przykład 5. Wkładka Zmienne

Oto przykład wkładania oceniane zmienne do zapytania w gsubfn interpolacji ciągu quasi Perl stylu. gsubfn jest używany przez sqldf, więc jest już załadowany. Należy pamiętać, że musimy użyć fn $ prefiks, aby wywołać funkcję interpolacji:

> 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 
1

Można również użyć fn$sqldf:

fn$sqldf("select TenScore from data where State_P = '$stateValue'")

Powiązane problemy