我有一个sqlite数据库,其中包含的int值太大而R无法处理。是否仍然可以在R中导入这些列,以便不会以奇怪的方式转换那些大的int值?
到目前为止我做了什么:
library(DBI)
library(RSQLite)
library(data.table)
# connect to the sqlite file
con <- dbConnect(RSQLite::SQLite(), 'test.sqlite')
# get the perormance_data as a data.frame -> data.table
p1 = dbGetQuery(con,'
SELECT
Post.post_id,
Post.created_time
FROM
Post
')
p1 <- as.data.table(p1)
post_id
- 列包含大型int值,例如。
答案 0 :(得分:2)
最简单的 - 只要您不需要对大值进行算术运算 - 应该只是将其作为字符串导入;
library(DBI)
library(RSQLite)
library(data.table)
# connect to the sqlite file
con <- dbConnect(RSQLite::SQLite(), 'test.sqlite')
# get the perormance_data as a data.frame -> data.table
p1 = dbGetQuery(con,'
SELECT
CAST(Post.post_id AS VARCHAR) post_id,
Post.created_time
FROM
Post
')
p1 <- as.data.table(p1)
p1