Ich arbeite an einfachen Daten wie folgt:
teacher student
12 409
43 403
12 415
12 409
67 311
19 201
Ich versuche, die Einträge abzurufen, in denen lehrer = 12 und student = 409 ist. Ich verwende den folgenden Befehl:
library(sqldf)
sqldf('SELECT *
FROM df
WHERE teacher == 12 and student == 409')
Ich weiß, dass es ein grundlegender Befehl ist, aber wenn ich es renne, erhalte ich die folgende Fehlermeldung:
Error in asfn(rs[[i]]) : need explicit units for numeric conversion
Ich bekomme den gleichen Fehler, auch wenn ich renne:
# Without the and condition
sqldf('SELECT *
FROM df
WHERE teacher == 12')
Oder wenn ich das renne
# Single equal sign
sqldf('SELECT *
FROM df
WHERE teacher = 12')
Bitte beachten Sie, dass in meinem aktuellen Dataset df$teacher
und df$student
beide Ganzzahlen sind. Ich möchte verstehen, warum ich diesen Fehler bekomme. Jeder Rat wäre sehr dankbar.
Meine gewünschte Ausgabe ist:
teacher student
12 409
12 409
Vielen Dank!
1 Antwort
Wir brauchen nur Single =
library(sqldf)
sqldf('SELECT *
FROM df
WHERE teacher = 12 and student = 409')
-Ausgabe
teacher student
1 12 409
2 12 409
Mit den Originaldaten der OP, das nicht behoben wurde, können wir das Argument method
verwenden`
sqldf('SELECT *
FROM df
WHERE teacher = 12 and student = 409', method = 'name__class')
Gemäß ?sqldf
wird das {"name__class"
mit {{Date
-Zeilen als Beispiel verwendet. Da die Originaldaten des OP nicht geteilt werden, ist es immer noch nicht sicher, warum es funktioniert hat
Methode = "NAME__CLASS", wodurch diese Spaltennamen, die in __CLASS mit zwei Unterstrichen enden, an denen die Klasse ein R-Klasse (z. B. Datum) enden, in diese Klasse umgewandelt werden, und der __CLASS-Abschnitt wird aus dem Spaltennamen entfernt .`et ..`
Daten
df <- structure(list(teacher = c(12L, 43L, 12L, 12L, 67L, 19L), student = c(409L,
403L, 415L, 409L, 311L, 201L)), class = "data.frame", row.names = c(NA,
-6L))
Verwandte Fragen
Neue Fragen
mysql
MySQL ist ein kostenloses Open-Source-RDBMS (Relational Database Management System), das SQL (Structured Query Language) verwendet. Verwenden Sie dieses Tag NICHT für andere DBs wie SQL Server, SQLite usw. Dies sind verschiedene DBs, die alle ihre eigenen SQL-Dialekte verwenden, um die Daten zu verwalten.