首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R- sqldf错误原始与双

R- sqldf错误原始与双
EN

Stack Overflow用户
提问于 2015-11-12 16:32:52
回答 1查看 7.1K关注 0票数 2

我有一个向量lims,有分数的限制:

代码语言:javascript
复制
 [1]  0.000000  7.025894  9.871630 12.411131 15.155998 18.099176 21.431354 25.391163 30.616550 40.356630

我创建一个表来对其他客户端进行分类:

代码语言:javascript
复制
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')


> class(lims)
[1] "data.frame"

所以我的结果是:

代码语言:javascript
复制
> lims
       minSc      maxSc
1  -0.000010   7.025894
2   7.025894   9.871630
3   9.871630  12.411131
4  12.411131  15.155998
5  15.155998  18.099176
6  18.099176  21.431354
7  21.431354  25.391163
8  25.391163  30.616550
9  30.616550  40.356630
10 40.356630 100.000000

我想根据这些限制和字段sc对另一张表(火车)进行分类:

代码语言:javascript
复制
>class(train$sc)
[1] "numeric"
> class(train$target)
[1] "integer"

但是,当我运行以下操作时,会得到一个错误:

代码语言:javascript
复制
library(sqldf)
sqldf("Select b.minSc, b.maxSc, count(*) as total, sum(target) as compra
     from  train a left join lims b 
    on a.sc<=b.maxSc and a.sc>b.minSc
    group by b.minSc, b.maxSc")

sqliteSendQuery中的错误(conn,语句,bind.data):RAW()只能应用于“raw”,而不能应用于“双”

我不明白我做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-12 17:04:33

我相信错误在您的lims对象中。

代码语言:javascript
复制
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$maxScdata.frame类型的。然后,以下查询不起作用,并导致您发布的错误。

代码语言:javascript
复制
library(sqldf)
sqldf("select * from lims")

但是,如果将lims$maxSc设置为a[,1],则不会出现错误。

代码语言:javascript
复制
lims$maxSc<-a[,1]
sapply(lims,class)
#     minSc     maxSc 
# "numeric" "numeric" 
sqldf("select * from lims")

data.frame的列不能属于data.frame类,sqldf才能工作。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33676537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档