开发者

add new column using SQLite

开发者 https://www.devze.com 2023-03-28 14:54 出处:网络
I am trying to insert a new column in a R dataframe usi开发者_如何学Gong sqldf, using the example 4 from sqldf

I am trying to insert a new column in a R dataframe usi开发者_如何学Gong sqldf, using the example 4 from 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")

Both sqldf command works, but it fails when I change the column name of abbr from abbr to abbr_col, I don't know which abbr in the sql syntax should be changed.

Thanks.

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)

I tried renaming all abbr into abbr_col, but fail.


One “abbr” is table name, another one is column name:

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")


If you want to rename column from abbr to abbr_col, then you need change all of the abbr occurrences to abbr_col.

0

精彩评论

暂无评论...
验证码 换一张
取 消