我得到了这些数据:
> str(gaDataExt)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 2 obs. of 5 variables:
$ date : POSIXct, format: "2016-05-24" "2016-05-31"
$ deviceCategory: chr "desktop" "desktop"
$ users : int 1 2
$ sessions : int 1 2
$ pageviews : int 11 85
- attr(*, "profileInfo")=List of 6
..$ profileId : chr "25439551"
..$ accountId : chr "12543305"
..$ webPropertyId : chr "UA-12543305-1"
..$ internalWebPropertyId: chr "26790206"
..$ profileName : chr "www.ciao.ch"
..$ tableId : chr "ga:25439551"
- attr(*, "query")=List of 8
..$ start.date : chr "30daysAgo"
..$ end.date : chr "yesterday"
..$ profileId : chr "ga:25439551"
..$ dimensions : chr "ga:date,ga:deviceCategory"
..$ metrics : chr "ga:users" "ga:sessions" "ga:pageviews"
..$ segment : chr "sessions::condition::ga:pagePath=@/f /relations /questions_reponses-best_of/;sessions::condition::ga:pagePath=@/f/manger-bouger/q"| __truncated__
..$ start.index: int 1
..$ max.results: int 10000
- attr(*, "sampled")= logi FALSE
Run Code Online (Sandbox Code Playgroud)
我想用ggplot2制作一个情节但我无法访问$ segment中的数据?是否可以转换为数据帧?
df = as.data.frame(gaDataExt)
Run Code Online (Sandbox Code Playgroud)
就那么简单.
如果这是输出的准确再现str()(我不确定,因为users, sessions,pageviews似乎已缩进),那么该segments组件实际上是列表中的几个组件之一,该列表是该组件的属性pageviews。
假设上述内容正确,那么您可以segment通过以下方式访问包含该组件的列表:
attr(gaDataExt$pageviews, "query")$segment
Run Code Online (Sandbox Code Playgroud)
或者
attr(gaDataExt[["pageviews"]], "query")$segment
Run Code Online (Sandbox Code Playgroud)
如果这些属性实际上是 的属性tbl_df,则segments通过
attr(gaDataExt, "query")$segment
Run Code Online (Sandbox Code Playgroud)
我怀疑你想要这个,因为属性似乎在 ubt 上,tbl_df输出str()不清楚。