我相信错误在于你lims
object.
lims <- c(0.000000, 7.025894, 9.871630, 12.411131,
15.155998, 18.099176, 21.431354, 25.391163,
30.616550, 40.356630)
lims[1]<- -0.00001
a<-data.frame(lims[2:10])
colnames(a)<-'maxSc'
a<-rbind(a, 100)
lims<-data.frame(lims)
lims$maxSc<-a
colnames(lims)<-c('minSc', 'maxSc')
sapply(lims, class)
# minSc maxSc
# "numeric" "data.frame"
请注意lims$maxSc
属于类型data.frame
。那么以下查询不起作用并导致您发布的错误。
library(sqldf)
sqldf("select * from lims")
然而,如果相反lims$maxSc
被设定为a[,1]
那么就没有错误了。
lims$maxSc<-a[,1]
sapply(lims,class)
# minSc maxSc
# "numeric" "numeric"
sqldf("select * from lims")
您的列data.frame
不能属于班级data.frame
for sqldf
上班。