Сумма столбца в SQLITE дает разные результаты от суммы в R того же столбца - PullRequest
0 голосов
/ 23 апреля 2019

Цель: переместить файл csv в базу данных sqlite, проходящую через R (я не могу избежать прохождения через R), и выполнить некоторые запросы к базе данных Sqlite из R.

Проблема: Когда я выполняю простуюзапрос к базе данных sqlite (сумма столбца), и я делаю тот же расчет в R, суммируя столбец фрейма данных (те же данные, что и в базе данных sqlite), я получаю два совершенно разных результата.

Пока я не знаю, кому я должен доверять.Обратите внимание, что я не могу открыть файл CSV в Excel для проверки вручную, так как файл очень большой.

Я уже пытался изменить тип столбца при перемещении файла CSV в базу данных sqlite.До сих пор я пробовал: целое, числовое, двойное, вещественное.

library(RSQLite)

con <- dbConnect(SQLite(), "data/table.sqlite")


q1 <- "
SELECT
sum(table.values)
FROM
table;
"

t1 <- dbGetQuery(con, q1)
t1


# Sum the same column from the data frame within R
s1 <- sum(table$values)

В этом случае я сравниваю t1 (сумма столбца «values» с SQLite) с sq (сумма столбца «values» с R), и они не совпадают.Ошибка очень большая.Не только десятичные дроби ... Я получаю разницу в миллионы ... (я работаю над очень большим файлом).

Я также проверил, равен ли столбец моего кадра данных в R i столбцу в базе данных SQLite, и они равны!

q2 <- "
SELECT
table.values
FROM
table;
"
t2 <- dbGetQuery(con, q2)
t2

sum(t2$values == table$values)

Последняя строка кода дает мне 3000000, что означает, чтовсе элементы равны, так как и моя база данных, и база данных sqlite имеют 3000000 строк.

Я просто хотел бы знать, как я могу получить один и тот же результат из базы данных R и Sqlite.

Я что-то упускаю из-за типов значений в базе данных Sqlite?

Операционная система: Mac OS Mojave 10.14.1 R версия 3.5.2 (2018-12-20) SQLite 3

Заранее благодарим за вашу супер драгоценную помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...