Ihre Daten etwas sieht wie folgt aus der Annahme:
library(sqldf)
carddata = data.frame(new_user_indicator = c('N','N','Y','Y','Y'),
loyalty_threshold = c(1,1,5,3,1))
Und Ihr Ziel ist, einen anderen Vektor mit einem einzelnen Wert zu verwenden, um alle Einheiten von carddata
deren Loyalität Schwelle über diesem Wert auswählen , erhalten Sie folgende verwenden:
# create a dataframe from average_loyalty_threshold so that sqldf will see it as a table
average_loyalty_threshold = data.frame(threshold = 2)
sqldf("select count(*)
from carddata
where new_user_indicator == 'Y'
and loyalty_threshold > (select * from average_loyalty_threshold)")
#returns
count(*)
1 2
Mit dem (select * from average_loyalty_threshold)
Sie auswählen können, dass einzelne Wert, den Sie looki sind ng für.
Allerdings ist es einfacher Art und Weise:
average_loyalty_threshold = 2
fn$sqldf("select count(*)
from carddata
where new_user_indicator == 'Y'
and loyalty_threshold > `average_loyalty_threshold`")
#returns
count(*)
1 2
Hier habe ich den Wert der Treue Schwelle überschritten direkt in die Abfrage.
Sie könnten auch sprintf()
für diesen Text einfügen, aber wie andere in den Kommentar hingewiesen, fn$
ist die empfohlene Möglichkeit, externe Variablen zu verweisen.
Bitte erläutern Sie, was Sie wollen, indem Sie ein reproduzierbares Beispiel mit allen Eingaben und Bibliotheksanweisungen und der erwarteten Ausgabe bereitstellen. –