Предупреждения "НС, введенных путем принуждения" в функции фреда - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь использовать fread(), чтобы прочитать в таблице 2 столбца (x, y) и ~ 3 00 миллионов строк (62 ГБ) и построить x и y на диаграмме рассеяния.Я использую «fread», и он работает нормально, если я использую только небольшую часть данных, например 30000 строк.

Но если я запускаю его на всем наборе данных, я получаю:
"Предупреждениесообщение: В setattr (ans, "row.names", .set_row_names (nr)): NA введены путем принуждения к целочисленному диапазону /var/spool/torque/mom_priv/jobs/11244921.cri16sc001.SC: строка 14: 70765 Killed Rscript10_plotZ0Z1.R "

В чем может быть причина?

1 Ответ

0 голосов
/ 01 декабря 2018

Вы можете попробовать большой файл, как уже предлагалось в комментариях.К сожалению, похоже, что fread пока еще не реализовал такую ​​функцию - см. эту открытую проблему (удаление этой функции может мотивировать разработчиков работать над ней).Но, как уже упоминалось здесь , если вы работаете в Linux, попробуйте команду оболочки shuf -n:

library(data.table)

# Generate some random data
dt <- data.table(x = rnorm(10^6), y = rnorm(10^6))
# write to csv file
fwrite(dt, "test-dt.csv")

# Read a random sample of 10^5 rows
dt2 <- fread(cmd = "shuf -n 100000 test-dt.csv")
dt[, plot(x,y)]

В качестве альтернативы, вы можете прочитать блоки строк из файла с несколькими вызовамиfread как показано здесь .

...