Я следую коду книги "Big Data Analytics с R", глава.3 by Walkowiak.
Когда я пытаюсь объединить 2 объекта ffdf с функцией merge.ffdf, он возвращает мне эту ошибку:
Ошибка в остановке if (by <1) ("'by' должно быть> 0"):
пропущенное значение, где необходимо ИСТИНА / ЛОЖЬ
Дополнительно: предупреждающее сообщение:
в chunk.default (от = 1L до = 951111L, от = c (целое число = 46116860184273880),: NA, введенные путем принуждения к целочисленному диапазону
То же самое происходит, когда я пытаюсь запустить следующую строку:
ckd.ff$id <- ffseq_len(nrow(ckd.ff))
Я не нашел ни одного удовлетворительного ответа в какой-либо части сети.
getwd()
shell("mkdir ffdf")
options(fftempdir = ".../ffdf")
system.time(flights.ff <-
read.table.ffdf(file="flights_sep_oct15.txt",
sep=",",
VERBOSE=TRUE,
header=TRUE,
next.rows=100000,
colClasses=NA))
system.time(airlines.ff <-
read.csv.ffdf(file="airline_id2.csv", sep=",",
VERBOSE=TRUE,
header=TRUE,
next.rows=100000,
colClasses=NA))
names(airlines.ff) <- c("AIRLINE_ID", "AIRLINE_NM")
flights.data.ff <- merge.ffdf(flights.ff,
airlines.ff,by="AIRLINE_ID")
library(RWeka)
ckd <- read.arff("ckd_full2.arff")
ckd$class <- as.numeric(ckd$class)
library(ETLUtils)
ckd$class <- recoder(ckd$class, from = c(1,2), to=c(1,0))
options(fftempdir = ".../ffdf")
ckd.ff <- as.ffdf(ckd)
ckd.ff$id <- ffseq_len(nrow(ckd.ff))
Ошибка в случае остановки (на <1) ("на"должно быть> 0 "):
пропущенное значение там, где необходимо ИСТИНА / ЛОЖЬ
Дополнительно: предупреждающее сообщение:
В chunk.default (1, length.out, by = bysize):
введены NAприведением к целочисленному диапазону