Преобразуйте данные в фрейм данных в R

#r #dataframe #datatable

Вопрос:

Я хотел бы преобразовать в z фрейм данных для использования write_xlsx . Я пытаюсь z<-data.frame(z) , но это не сработало. Есть какое-нибудь решение для этого?

 library(DT)
library(writexl)

Test <- structure(list(date2 = structure(c(18808, 18808, 18809, 18810
), class = "Date"), Category = c("FDE", "ABC", "FDE", "ABC"), 
coef = c(4, 1, 6, 1)), row.names = c(NA, 4L), class = "data.frame")


z<-datatable (Test, options = list(columnDefs = list(list(className = 'dt-center', targets = "_all")),
                                   paging =TRUE,searching = FALSE, pageLength =  10,dom = 'tip',scrollx=T),rownames = FALSE)


write_xlsx(z, 'C:/Users/Carlos/Desktop/datas.xlsx')
 

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

1. Почему бы вам не обратиться write_xlsx в Test ?

2. Возможно write_xlsx(z$x$data, "...") .

Ответ №1:

Данные находятся под парой слоев, поэтому вам нужно их выловить. В данном случае он находится в элементе » x «и под таблицей под названием «данные». Часто в сложных структурах, подобных этой (класс(z) возвращает «таблицы данных» «htmlwidget»), данные будут вложены подобным образом, поэтому требуется просто немного покопаться.

 as.data.frame(z$x$data)
 

Лучший,
Мостафа