2011-09-25 19 views
7

Böyle bazı sorgusu vardır:R değişkenini sqldf'ye nasıl geçirebilirim?

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

Ama değişken stateValue içinde "AndhraPradesh" var. Yukarıdaki ile aynı sonucu elde etmek için bu değişkeni R'de bir seçim sorgusunda nasıl kullanabilirim.

Lütfen bana söz dizimini gösterin.

cevap

10

Sen sprintf kullanabilirsiniz:

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

. Sqldf ile normal olarak kullanılan yöntem için sqldf github giriş sayfasındaki Örnek 5'e bakın. –

4

sqldf GitHub page üzerinde Example 5 bakınız.


Örnek 5. takın Değişkenler İşte

gsubfn yarı-perl tarzı dize interpolasyon kullanarak sorgu içine değerlendirilen değişkenler ekleme bir örnektir. gsubfn, sqldf tarafından çoktan yüklenmiş olduğu için kullanılır. Biz interpolasyon işlevselliğini çağırmak için fn $ öneki kullanmanız gerektiğini unutmayın:

> 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

Ayrıca fn$sqldf kullanabilirsiniz: Bunu tavsiye etmem

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

İlgili konular