Я загрузил данные из lending club и загрузил их в R, используя .data.table использовать все столбцы для создания строки
Для каждой строки я хотел бы, чтобы data.table собирал всю информацию из всех столбцов и помещал ее в одну строку максимально эффективным способом. Моя текущая функция работает, но думаю, что это, вероятно, довольно медленно и может иметь дело с некоторыми улучшениями от некоторых экспертов.
foo <- function(y, dt_obj, col_names=colnames(dt_obj)){
paste0("http://localhost:8080/predict?",
paste0(col_names,"=",unlist(dt_obj[y,],use.names=FALSE),
collapse="&")
)
}
В приведенной выше функции, y
это номер строки, то dt_obj
это данные, CSV, который был считан в R с помощью Fread.
я затем пройти через каждую строку и добавить в данных к моему первоначальному data.table объекту dt
используя следующую строку
dt[,strg:=sapply(seq(nrow(dt)),function(x){foo(x,dt_obj=dt)})]
Однако это, кажется, занять некоторое время, и считает, что скорость может быть повышена, если более эффективной foo
функции были созданы или data.table использовали более эффективным способом ...
Как всегда, любая помощь будет принята с благодарностью ...
У меня есть очень наивное предложение. Вы пытались удалить разделитель столбцов во время чтения CSV? Строки должны читаться правильно, а запятые, разделяющие поля, будут рассматриваться как текст. –
ваша ссылка заблокирована из моего местоположения. Я разместил образцы данных, если это поможет. –
Спасибо за предложение, довольно аккуратное ... но, к сожалению, для моей ситуации данные csv - всего лишь пример ... мои данные уже находятся в R, который обычно читается при использовании readRDS, так как это формат RDS. –