使用SQLite添加新列

时间:2011-08-16 09:58:05

标签: sqlite r

我正尝试使用sqldf中的示例4,使用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") 在R数据框中插入新列

abbr

两个sqldf命令都有效,但是当我将abbr的列名从abbr_col更改为abbr时失败,我不知道应该更改sql语法中的哪个> 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)

感谢。

更新#01

abbr

我尝试将所有abbr_col重命名为{{1}},但失败了。

2 个答案:

答案 0 :(得分:2)

一个“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")

答案 1 :(得分:0)

如果要将列从abbr重命名为abbr_col,则需要将abbr次出现的所有更改为abbr_col。< / p>