2015-12-09 1 views
0

У меня есть следующий тест матрицы в RКак преобразовать имена столбцов с Jsonlite в R без использования расплава

a <- matrix(c(14,356,34,4),nrow = 2) 
colnames(a) <- c("test1", "test2") 
json.format <- toJSON(a) 
r.format <- fromJSON(json.format) 

, как вы можете видеть, в начале матрица a была columnames. После преобразования в json и обратно матрица r.format потеряла имена столбцов. Я знаю, что плавление a до преобразования в json даст желаемый результат. По какой-то причине я не могу использовать функцию расплава. Есть ли другой способ выполнить это?

+0

Является ли причина того, что вы не можете использовать функцию «расплава», в которой вы не загрузили пакет, в котором он находится? 'Библиотека (reshape2)'. Тем не менее, почему бы просто не конвертировать в data.frame? 'fromJSON (toJSON (as.data.frame (a)))' отлично работает. – Gregor

ответ

0

jsonlite не любит сохранять имена размеров для матриц, по-видимому. Есть ли причина, по которой вы не храните его в качестве data.frame? Вы можете преобразовать его туда и обратно с

json.format <- toJSON(as.data.frame(a)) 
r.format <- as.matrix(fromJSON(json.format)) 

Или вы можете использовать функцию RJSONIO::toJSON вместо jsonlite в

json.format <- RJSONIO::toJSON(a) 
r.format <- fromJSON(json.format) 

, но она по-прежнему возвращает data.frame по умолчанию.

Смежные вопросы