sql - 如何在r中将一个SQL列拆分为多列
问题描述
我在 R 中通过 dbplyr::memdb_frame() 创建了一个 tbl_SQLiteConnection 对象。
library(dbplyr)
library(dplyr)
tb=memdb_frame(data.frame(ch=c('1a1','2a3'),cq=c(1,2)))
tb
# Source: table<dbplyr_002> [?? x 2]
# Database: sqlite 3.33.0 [:memory:]
ch cq
<chr> <dbl>
1 1a1 1
2 2a3 2
我想将列拆分ch
为a
两列:ch1
如下ch2
所示:
# Source: table<dbplyr_004> [?? x 3]
# Database: sqlite 3.33.0 [:memory:]
ch1 ch2 cq
<dbl> <dbl> <dbl>
1 1 1 1
2 2 3 2
我尝试这样的事情
sq <- paste0('SELECT split_part(ch,"a",1)
FROM (',sql_render(tb),')')
tbl(tb$src$con,sql(sq))
这没用!!!
你能帮我如何在 R 中进行吗?
解决方案
这是否有效:
library(dplyr)
library(tidyr)
tb %>% separate(col = ch, into = c('ch1','ch2'), sep = 'a')
ch1 ch2 cq
1 1 1 1
2 2 3 2
推荐阅读
- c# - 如何使用 SignalR 在 .Net Core 2.1 中进行令牌身份验证
- c# - DotNetCore WebAPI 依赖注入范围和处置
- amazon-web-services - 图像识别/分类中的 AWS Sagemaker 多对象检测
- java - 重新连接到代理后,MQTT 客户端连接丢失不起作用
- php - 如何以编程方式登录然后使用 Laravel 5.5 重定向?
- javascript - Angular 6路由器未使用angularjs $location服务检测Url更改
- java - 如何使用终端命令在 Red Hat linux 中打开 chrome 浏览器?
- phpspreadsheet - 作曲家问题:教义/注释 v1.6.0 需要 php^7.1
- ecmascript-6 - React ES6 TypeError:instance.render 不是函数
- d3.js - D3:从下拉列表中选择后突出显示圆圈