比方说,我正在使用tidyverse软件包中的starwars
数据集,其中包含列表列(用于电影,车辆...)。为了简化,
让我们只使用名称和电影数据:
library(tidyverse)
ex_data <- starwars %>%
select(name, films)
ex_data
# A tibble: 87 x 2
name films
<chr> <list>
1 Luke Skywalker <chr [5]>
2 C-3PO <chr [6]>
3 R2-D2 <chr [7]>
4 Darth Vader <chr [4]>
5 Leia Organa <chr [5]>
6 Owen Lars <chr [3]>
7 Beru Whitesun lars <chr [3]>
8 R5-D4 <chr [1]>
9 Biggs Darklighter <chr [1]>
10 Obi-Wan Kenobi <chr [6]>
# ... with 77 more rows
我想将此数据复制到PostgreSQL数据库,但我希望将films列转换为SQL中的文本数组类型,如下所示:
starwars=# \d test
Table "public.test"
Column | Type | Modifiers
------------+--------+-----------
name | text | not null
films | text[] |
是否有使用dplyr
和/或dbplyr
的简便方法?
另外,我对相反的操作感兴趣,将具有数组类型列的表从postgreSQL db导入R中,并获取数组1的列表类型列。
提前谢谢!