#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. Спасибо — это полезно — постараюсь