R чтение файлов Excel с возвратом каретки

Я создаю подпрограмму в R для импорта нескольких файлов Excel, которые мне нужно объединить в один большой текстовый файл. Я использую функцию read.xls. Некоторые из этих файлов xls имеют возврат каретки в ячейках ("\n"). Затем, когда я пишу текстовые файлы (write.table), R интерпретирует это "\n" как новые строки. Как я могу очистить файлы xls или прочитать их правильно, чтобы удалить ненужные "\n"?

Спасибо!

1 ответ

Решение

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

Сначала несколько фиктивных данных

R> dd = data.frame(d1 = c("1", "2\n", "33"), 
                d2 = c("1\n", "2\n", "33"))

##Default, factor
R> levels(dd[,1])
[1] "1"   "2\n" "33"

Далее мы используем for цикл для просмотра имен столбцов:

for(i in 1:ncol(dd)) 
  levels(dd[,i]) = gsub("\n","", levels(dd[,i]))

Если вы хотите удалить for цикл и использование sapplyтогда это должно работать

##Can this be improved?
sapply(1:ncol(dd), 
        function(i) levels(dd[,i]) <<- gsub("\n","", levels(dd[,i])))
Другие вопросы по тегам