Postgresql + dplyr:将bigint作为文本列加载

时间:2015-03-19 13:36:31

标签: r postgresql dplyr

我已连接到数据库:

db = src_postgres(dbname = "a", host = "b", port = 5432, user = 'c', password = 'd')
tab = tbl(db, "table")

然后我尝试计算每组中的行数:

tab %>%
  group_by(id) %>%
  tally() %>%
  arrange(desc(n)) 

结果是:

         id            n
1     6.014e+18 13529622
2     6.014e+18 10906413
3     6.014e+18  8243263
4     6.011e+18  7472041
5     6.014e+18  7094833
6     6.012e+18  6730177
7     6.011e+18  6236673
8     6.011e+18  5924966
9     6.011e+18  4537380
10    6.011e+18  4393328

有没有办法在文本表单中访问id列? (像id::TEXT这样的东西会在数据库中完成)

2 个答案:

答案 0 :(得分:2)

您可以将id列转换为数据库中的文本:

tab %>%
  mutate(id = as.character(id)) %>%
  group_by(id) %>%
  tally() %>%
  arrange(desc(n)) 

答案 1 :(得分:0)

也许你可以使用:

  format(id, scientific = FALSE)