sqldf 和 R 代码中的奇怪 sql 语句

Weird sql statement in sqldf and R code

我必须维护一些 R 代码,而编写它的人已经不在了。

我在他的代码中发现了一些奇怪的 sql 语句,我不确定它们是什么意思。这是其中之一:

sqldf(paste("select ", i," i , * from simTypeFile union all select * from simTypeFiles", sep=""))

i 是从零递增到 x 的索引。我希望 select 关键字后跟 column_name 或星号。在本例中,它后面跟着一个整数 i、一个 space、一个字符串 i 和一个星号。

要查询的table没有数字i或字符串"i"的列。 select 语句后面的那些字符是什么意思?

我认为他们正在为模拟准备数据,并添加 i 列用于索引并将其命名为 i(明确使用 A​​S命名列,例如:select 1 AS i),请考虑以下示例:

# emprty data.frame to fill in
simTypeFiles <- data.frame(i = numeric(0), speed = numeric(0), dist = numeric(0))

# dummy data
simTypeFile <- cars[1:3,]

# then loop and rbind - union
for(i in 1:3){
  simTypeFiles <- 
    rbind(
      simTypeFiles,
      sqldf(paste("select ", i," i , * from simTypeFile union all select * from simTypeFiles", sep = ""))
    )
}

simTypeFiles