запись Dataframe со списком в CSV - PullRequest
0 голосов
/ 14 октября 2018

Я использую https://cran.r -project.org / web / packages / fbRads / fbRads.pdf для импорта данных из API маркетинга в Facebook.

Одно из полей https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/ - website_purchase_roas - это список полей.

Как поместить это в CSV?

 website_purchase_roas  date_stop
1    0.673001 offsite_conversion.fb_pixel_purchase, 6.506892 2018-10-11
2    1.369035 offsite_conversion.fb_pixel_purchase, 0.594109 2018-10-11
3    2.084238                                           NULL 2018-10-11
4     1.31209                                           NULL 2018-10-11
5    2.337662                                           NULL 2018-10-11
6    0.996678                                           NULL 2018-10-11
7    1.936385 offsite_conversion.fb_pixel_purchase, 1.482508 2018-10-11
8    2.777778                                           NULL 2018-10-11
9           0                                           NULL 2018-10-11
10   1.994885                                           NULL 2018-10-11
11   2.402023                                           NULL 2018-10-11
12   4.635056 offsite_conversion.fb_pixel_purchase, 5.222421 2018-10-11
13          0                                           NULL 2018-10-11
14   1.990291                                           NULL 2018-10-11
15   6.557377                                           NULL 2018-10-11
16   3.703704                                           NULL 2018-10-11
17   3.038936                                           NULL 2018-10-11

До сих пор я использовал

write.table (get (fileName), paste0 ("/ home / rstudio /", fileName), append = TRUE, na = "NA", row.names = FALSE, sep = ",", col.names = FALSE)

Но, конечно, он не способен обрабатывать списки, и мне нужно сначала сгладить фрейм данных.

1 Ответ

0 голосов
/ 14 октября 2018

Вы можете использовать fwrite из пакета data.table, который имеет аргумент sep2, который определяет, что использовать в качестве разделителя для list столбцов.

См. ?data.table::fwrite.

Пример:

library(data.table)
set.seed(01349)
DT = data.table(
  V1 = rchisq(5, 5), 
  l_col = lapply(integer(5L), function(x) rnorm(sample(3L, 1L)))
)

fwrite(DT)
# V1,l_col
# 8.55552022121412,-0.865231813182414
# 1.24426281601847,-0.193327839843266|0.215528624259188|0.347253218410811
# 3.43283896352093,0.87954526007159
# 7.60971421627405,-2.37928159590364
# 8.83757675994184,-0.981183793508651|-1.29924540435512
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...