может быть полезно посмотреть, что происходит.

ользуюread.csv.sql условно читать в данных (мой набор данных очень большой, поэтому это решение я выбрал для фильтрации и уменьшения размера предшествующий для чтения данных в). Я столкнулся с проблемами с памятью, прочитав полные данные и затем отфильтровав их, поэтому важно, чтобы я использовал условное чтение, чтобы подмножество считывалось, а не полный набор данных.
Вот небольшой набор данных, поэтому моя проблема может быть воспроизведена:

write.csv(iris, "iris.csv", row.names = F)

Я обнаружил, что нотация, которую вы должны использовать, чрезвычайно неудобна при использованииread.csv.sql Вот первый способ, которым я пытался читать в файле, и это работает, но это грязно:

library(sqldf)
csvFile <- "iris.csv"

spec <- 'setosa'
sql <- paste0("select * from file where Species = '\"", spec,"\"'")
d1 <- read.csv.sql(file = csvFile, sql = sql)

Затем я нашел другой способ написания той же записи в несколько более чистой форме:

sql <- paste0("select * from file where Species = '", spec,"'")
d2 <- read.csv.sql(file = csvFile, sql = sql, 
                   filter = list('gawk -f prog', prog = '{ gsub(/"/, ""); print }'))

Далее я хотел прочитать в случае, когда я выбираю несколько значений из одного столбца, поэтому я попробовал это, и это работает:

d3 <- read.csv.sql(file = csvFile, 
                   sql = "select * from file where Species in 
                         ('\"setosa\"', '\"versicolor\"') ")

Однако я хочу избежать жесткого кодирования таких значений, поэтому я попытался:

spec2 <- c('setosa', 'versicolor')
sql2 <- paste0("select * from file where Species in '", spec2,"'")
d4 <- read.csv.sql(file = csvFile, sql = sql2, 
                   filter = list('gawk -f prog', prog = '{ gsub(/"/, ""); print }'))
<, p> Но это не работает (кажется, что он читает только первое значение из вектора и пытается сопоставить его как таблицу). Я уверен, что это еще одна проблема с обозначениями, и хотел бы помочь прояснить этот кусок кода.
Кроме того, если у вас есть какие-либо советы / рекомендации по использованиюread.csv.sql и касаясь вопросов обозначений, я хотел бы услышать их!

Ответы на вопрос(1)

Ваш ответ на вопрос