0

R当我使用包将数据从 Google BigQuery写入时,我丢失了小数bigrquery。我试图弄乱scipenanddigits选项,但没有任何效果。下面是一个例子。

options(scipen = 20)
options(digits=20)
library(bigrquery)

# authenticate in
bq_auth(path = "path_to_credials.json")

# create data
df <- data.frame(x = c(0.123456789, 1.1, .049384203480324, 2), 
                 y = c("dog", "cat", "apple", "pizza"))

# write to BQ
# make table
test_table_name <- "project.ds.table"

# define fields
the_fields <- as_bq_fields(list(
  bq_field("x", "numeric"),
  bq_field("y", "string")
))

# push to BQ
bq_table_upload(x = test_table_name, 
                values = df, 
                fields = the_fields)

该表是使用正确的类型创建的。但小数点会下降。

BQ结果:

在此处输入图像描述

在此处输入图像描述

如果我使用以下代码在 BQ 中制作表格,我会得到更多小数。

CREATE TABLE `project.ds.table` (
  `x` NUMERIC,
  `y` STRING,    
);

INSERT `project.ds.table` (x, y)
VALUES(0.123456789, 'dog'),
(1.1, 'cat'),
(0.049384203480324, 'apple'),
(2, 'pizza')

BQ结果:

在此处输入图像描述

4

0 回答 0