Экспорт таблицы R Spread

#r #export

#r #экспорт

Вопрос:

Я новичок в R, но добился некоторого первоначального успеха, собирая данные (gwlevel), а затем используя «функцию распространения» для помещения в таблицу распространения (gwlevel_spread).

Моя проблема в том, что я могу легко экспортировать таблицу «gwlevel» следующим образом:

 write.table(gwlevel, file = "c:/BOB/r/export/zz_jnk.csv")
 

Однако я продолжаю получать сообщение об ошибке при попытке экспортировать файл «gwlevel_spread» следующим образом:

write.table(gwlevel_spread,»c:/BOB/r/export/zz_jnk.csv «,sep=»,») Ошибка в write.table(gwlevel_spread, «c:/BOB/r/export/zz_jnk.csv «, sep = «,») : нереализованный тип ‘list’ в ‘EncodeElement’

(1) Кто-нибудь может сказать мне причину? (2) Или есть лучший способ, которым я должен это делать?

Ответ №1:

Вероятно, это означает, что у вас есть некоторые столбцы списка в ваших данных, которые нельзя экспортировать в csv. Вы можете свернуть столбец списка в одну строку, разделенную запятыми, прежде чем записывать ее в csv.

Если вызывается столбец списка col , вы можете сделать :

 gwlevel_spread$col <- sapply(gwlevel_spread$col, toString)
 

Если вы не знаете, какой столбец является списком, или в ваших данных много столбцов класса list, вы можете использовать условие в lapply

 gwlevel_spread[] <- lapply(gwlevel_spread, function(x) 
                          if('list' %in% class(x)) sapply(x, toString) else x)
 

а затем записать в csv с помощью write.table или write.csv :

 write.table(gwlevel_spread, file = "c:/BOB/r/export/zz_jnk.csv")
 

Комментарии:

1. Спасибо — это полезно — постараюсь