Проблемы в R с сохранением разделенных фреймов данных в виде новых файлов

Я немного искал ответы на вопросы, связанные с этим, но я все еще сталкиваюсь с проблемами.

У меня есть 1,4 миллиона фреймов данных, загруженных в R, содержащих данные GPS-маршрута для ~ 56 автомобилей. Я использовал функцию split(), чтобы разбить мои данные на более мелкие фрагменты по имени шины (пример имени шины: «1367/E0007489»). Я использовал следующую строку кода:

dfs <- split(sater001_paired, f=sater001_paired[, "vehicleName"])

Где sater001_paired — это мой фрейм данных, а vehicleName — это переменная, с которой я разделяю. Количество строк для каждого фрагмента неравномерно, учитывая, что эти данные были получены в режиме реального времени.

Проблема, с которой я столкнулся сейчас, заключается в попытке сохранить каждый из этих фрагментов в свои собственные файлы .csv. Я попытался использовать lapply как таковой:

lapply(names(dfs), function(x){write.table(dfs[[x]], file = paste("bus", x, sep = ""))})

Но R возвращает сообщение об ошибке «не удается открыть соединение». Вероятно, я что-то упускаю, так как я очень заржавел в использовании функции lapply.

Любые предложения, основанные на этом?


person S_Jenk    schedule 17.05.2016    source источник
comment
Ваш код работает для меня...   -  person DatamineR    schedule 18.05.2016
comment
я тоже (в Linux) ..... вы проверили предложения по выбранному ответу здесь? stackoverflow.com/questions/17156445/   -  person joemienko    schedule 18.05.2016
comment
Я просмотрел их, и ни один из них, похоже, не решает мою проблему, поскольку я являюсь администратором на этой рабочей станции и все еще повторяю сообщения «не могу открыть соединение», а также дополнительное сообщение «такой файл не существует».   -  person S_Jenk    schedule 18.05.2016
comment
Вы говорите, что значение, которое вы используете для имен файлов, содержит косую черту? Это вызовет проблему. Вы должны заменить косую черту на что-то другое для имени файла. Было бы более понятно, если бы вы предоставили воспроизводимый пример   -  person MrFlick    schedule 18.05.2016
comment
Переменная VehicleNames, которую я использую как «имена», на самом деле имеет его. это может быть проблемой. Я вернусь к этой проблеме и дам обновленную информацию, возможно, завтра.   -  person S_Jenk    schedule 18.05.2016
comment
Вы используете рстудио? Если это так, вы можете попробовать запустить его от имени администратора. Это решило проблемы с разрешениями Windows для меня в прошлом...   -  person joemienko    schedule 18.05.2016


Ответы (1)


MrFlick помог мне осознать проблему, с которой я здесь столкнулся.

Так что просто чтобы закрыть это, столбец «Названия автомобилей» я содержал косую черту на полпути в каждом идентификационном коде. Поскольку Rstudio в Windows не любит этих персонажей, я этого не осознавал, так как только недавно перешел от использования в основном Mac OS.

Используя gsub в следующем коде:

sater001_paired$vehicleName <- gsub('/', '-', sater001_paired$vehicleName)

Теперь эта проблема решена. Еще раз спасибо MrFlick за помощь.

person S_Jenk    schedule 18.05.2016