добавить новый столбец с помощью SQLite - PullRequest
1 голос
/ 16 августа 2011

Я пытаюсь вставить новый столбец в фрейм данных R, используя sqldf, используя пример 4 из sqldf

abbr <- data.frame (species = levels(iris[,"Species"]),
                    abbr = c("s","ve","vi"))
sqldf("select abbr, avg(Sepal_Length) from iris natural join abbr group by species")

sqldf("select abbr, avg(Sepal_Length) from iris join abbr using(Species) group by Species")

Обе команды sqldf работают, но не удается, когдаЯ изменяю имя столбца abbr с abbr на abbr_col, я не знаю, какой abbr в синтаксисе sql следует изменить.

Спасибо.

update # 01

> abbr <- data.frame (species = levels(iris[,"Species"]),
+                     abbr_col = c("s","ve","vi"))
> sqldf("select abbr_col, avg(Sepal_Length) from iris natural join abbr_col group by species")
Error in sqliteExecStatement(con, statement, bind.data) : 
  RS-DBI driver: (error in statement: no such table: abbr_col)

Я попытался переименовать все abbr в abbr_col, но не получилось.

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Один «abbr» - это имя таблицы, другой - имя столбца:

abbr_table <- data.frame (species = levels(iris[,"Species"]),
                          abbr_col = c("s","ve","vi"))
sqldf("select abbr_col, avg(Sepal_Length) from iris natural join abbr_table group by species")
0 голосов
/ 16 августа 2011

Если вы хотите переименовать столбец с abbr на abbr_col, то вам нужно изменить все из abbr вхождений на abbr_col.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...