Hi I have an array in R called "Puestos" and I want to pass all the values in the array into a sqldf query, I tried this:
library(sqldf)
for (i in Puestos){
statement = sprintf("select mes, puesto, sum(numero) as numero,sum(faltas) as faltas
from M_C where puesto=%s group by mes, puesto",i)
sqldf(statement)}
but I only get this error:
Error in sqliteSendQuery(con, statement, bind.data) :
error in statement: near "OFFICE": syntax error
"OFFICE" is a part of the name of the first element in the Puestos array, here is the head of Puestos:
head(Puestos)
PUESTO
BACK OFFICE DE REPORTERIA C
OPERADOR A
OPERADOR B
TELEOPERADOR(A) ATENCION A CLIENTES
TELEVENDEDOR(A)
BACK OFFICE DE CALIDAD A
head(M_C)
MES GENERO ESCOLARIDAD ESTATUS_ESCOLARIDAD PUESTO NUMERO FALTAS
4 F BACHILLERATO/PREPARATORIA CONCLUIDO BACK OFFICE DE REPORTERIA C 1 0
4 F BACHILLERATO/PREPARATORIA CONCLUIDO OPERADOR A 1 1
4 F BACHILLERATO/PREPARATORIA CONCLUIDO OPERADOR B 12 9
4 F BACHILLERATO/PREPARATORIA CONCLUIDO TELEOPERADOR(A) ATENCION A CLIENTES 11 3
4 F BACHILLERATO/PREPARATORIA CONCLUIDO TELEVENDEDOR(A) 51 38
4 F BACHILLERATO/PREPARATORIA EN CURSO OPERADOR B 1 0
dput(head(Puestos))
structure(list(PUESTO = structure(c(12L, 20L, 21L, 23L, 25L,
4L), .Label = c("Agente de Calidad", "AGENTE DE CALIDAD", "Back Office de Calidad A",
"BACK OFFICE DE CALIDAD A", "Back Office de Calidad B", "BACK OFFICE DE CALIDAD B",
"BACK OFFICE DE MOTIVACION C", "Back Office de Operaciones",
"BACK OFFICE DE OPERACIONES", "BACK OFFICE DE REPORTERIA B",
"Back Office de Reporteria C", "BACK OFFICE DE REPORTERIA C",
"Back Office de Reporteria D", "BACK OFFICE DE REPORTERIA D",
"BACK OFFICE DE VALIDADOR B", "BACK OFFICE DE VALIDADOR C", "BO-MOTIBBACK",
"Formador Operativo", "FORMADOR OPERATIVO", "OPERADOR A", "OPERADOR B",
"TECNICO", "TELEOPERADOR(A) ATENCION A CLIENTES", "TELEOPERADOR(A) TECNICO",
"TELEVENDEDOR(A)"), class = "factor")), .Names = "PUESTO", row.names = c(NA,
6L), class = "data.frame")
dput(head(M_C))
structure(list(MES = c(4L, 4L, 4L, 4L, 4L, 4L), GENERO = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = c("F", "M"), class = "factor"),
ESCOLARIDAD = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("BACHILLERATO/PREPARATORIA",
"LICENCIATURA/INGENIERIA", "POSGRADO", "SECUNDARIA", "TECNICO"
), class = "factor"), ESTATUS_ESCOLARIDAD = structure(c(1L,
1L, 1L, 1L, 1L, 2L), .Label = c("CONCLUIDO", "EN CURSO",
"PASANTE", "TRUNCO"), class = "factor"), PUESTO = structure(c(12L,
20L, 21L, 23L, 25L, 21L), .Label = c("Agente de Calidad",
"AGENTE DE CALIDAD", "Back Office de Calidad A", "BACK OFFICE DE CALIDAD A",
"Back Office de Calidad B", "BACK OFFICE DE CALIDAD B", "BACK OFFICE DE MOTIVACION C",
"Back Office de Operaciones", "BACK OFFICE DE OPERACIONES",
"BACK OFFICE DE REPORTERIA B", "Back Office de Reporteria C",
"BACK OFFICE DE REPORTERIA C", "Back Office de Reporteria D",
"BACK OFFICE DE REPORTERIA D", "BACK OFFICE DE VALIDADOR B",
"BACK OFFICE DE VALIDADOR C", "BO-MOTIBBACK", "Formador Operativo",
"FORMADOR OPERATIVO", "OPERADOR A", "OPERADOR B", "TECNICO",
"TELEOPERADOR(A) ATENCION A CLIENTES", "TELEOPERADOR(A) TECNICO",
"TELEVENDEDOR(A)"), class = "factor"), NUMERO = c(1L, 1L,
12L, 11L, 51L, 1L), FALTAS = c(0L, 1L, 9L, 3L, 38L, 0L)), .Names = c("MES",
"GENERO", "ESCOLARIDAD", "ESTATUS_ESCOLARIDAD", "PUESTO", "NUMERO",
"FALTAS"), row.names = c(NA, 6L), class = "data.frame")