我已经阅读了4-5个类似的问题,但是它们的情况有所不同,因此我无法弄清楚如何将阅读的内容应用于我的情况。
我有一个(公共)数据框,其中最后一列是列表:
[当我unnest()
时,我丢失度量标准名称(即visits
,hits
等):
如何在保留指标名称的同时平展该列表?
样本数据:
structure(list(fullVisitorId = c("2248281639583218707", "8647436381089107732",
"2055839700856389632", "0750846065342433129", "0573427169410921198"
), date = c("20170801", "20170801", "20170801", "20170801", "20170801"
), visitStartTime = c(1501583974L, 1501616585L, 1501583344L,
1501573386L, 1501651467L), totals = list(list(visits = 1L, hits = 1L,
pageviews = 1L, timeOnSite = NA_integer_, bounces = 1L, transactions = NA_integer_,
transactionRevenue = NA_integer_, newVisits = 1L, screenviews = NA_integer_,
uniqueScreenviews = NA_integer_, timeOnScreen = NA_integer_,
totalTransactionRevenue = NA_integer_, sessionQualityDim = 1L),
list(visits = 1L, hits = 1L, pageviews = 1L, timeOnSite = NA_integer_,
bounces = 1L, transactions = NA_integer_, transactionRevenue = NA_integer_,
newVisits = 1L, screenviews = NA_integer_, uniqueScreenviews = NA_integer_,
timeOnScreen = NA_integer_, totalTransactionRevenue = NA_integer_,
sessionQualityDim = 1L), list(visits = 1L, hits = 1L,
pageviews = 1L, timeOnSite = NA_integer_, bounces = 1L,
transactions = NA_integer_, transactionRevenue = NA_integer_,
newVisits = 1L, screenviews = NA_integer_, uniqueScreenviews = NA_integer_,
timeOnScreen = NA_integer_, totalTransactionRevenue = NA_integer_,
sessionQualityDim = 1L), list(visits = 1L, hits = 1L,
pageviews = 1L, timeOnSite = NA_integer_, bounces = 1L,
transactions = NA_integer_, transactionRevenue = NA_integer_,
newVisits = 1L, screenviews = NA_integer_, uniqueScreenviews = NA_integer_,
timeOnScreen = NA_integer_, totalTransactionRevenue = NA_integer_,
sessionQualityDim = 1L), list(visits = 1L, hits = 1L,
pageviews = 1L, timeOnSite = NA_integer_, bounces = 1L,
transactions = NA_integer_, transactionRevenue = NA_integer_,
newVisits = NA_integer_, screenviews = NA_integer_, uniqueScreenviews = NA_integer_,
timeOnScreen = NA_integer_, totalTransactionRevenue = NA_integer_,
sessionQualityDim = 1L))), row.names = c(NA, -5L), class = c("tbl_df",
"tbl", "data.frame"))
tidyr::unnest_wider()
是您想要的吗?
tidyr::unnest_wider(sample_data,totals)
# A tibble: 5 x 16
fullVisitorId date visitStartTime visits hits pageviews timeOnSite bounces transactions transactionReve~ newVisits screenviews
<chr> <chr> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
1 224828163958~ 2017~ 1501583974 1 1 1 NA 1 NA NA 1 NA
2 864743638108~ 2017~ 1501616585 1 1 1 NA 1 NA NA 1 NA
3 205583970085~ 2017~ 1501583344 1 1 1 NA 1 NA NA 1 NA
4 075084606534~ 2017~ 1501573386 1 1 1 NA 1 NA NA 1 NA
5 057342716941~ 2017~ 1501651467 1 1 1 NA 1 NA NA NA NA
# ... with 4 more variables: uniqueScreenviews <int>, timeOnScreen <int>, totalTransactionRevenue <int>, sessionQualityDim <int>