如何展平data.frame以与googlevis treemap一起使用?

时间:2015-11-12 17:55:47

标签: r treemap googlevis

为了在googleVis上使用树形图功能,需要将数据展平为两列。使用他们的例子:

<VirtualHost *:80>        
        ServerAdmin <my email>
        ServerName projectflyer.<my domain>.com
        DocumentRoot /var/www/html/projects/project-flyer/public
        DirectoryIndex index.php

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

然而,在现实世界中,这种信息更频繁地看起来像这样:

$ mongoexport --db database_name --collection collection_name --out filename.json

但如何最有效地改变这些数据呢?

1 个答案:

答案 0 :(得分:0)

如果我们使用dplyr,这个脚本将正确转换数据:

> library(googleVis)
> Regions
    Region  Parent Val Fac
1   Global    <NA>  10   2
2  America  Global   2   4
3   Europe  Global  99  11
4     Asia  Global  10   8
5   France  Europe  71   2
6   Sweden  Europe  89   3
7  Germany  Europe  58  10
8   Mexico America   2   9
9      USA America  38  11
10   China    Asia   5   1
11   Japan    Asia  48  11

我们可以通过比较数据框来验证这一点:

> a <- data.frame(
+   scal=c("Global",    "Global",   "Global",   "Global",   "Global",   "Global",   "Global"),
+   cont=c("Europe",    "Europe",   "Europe",   "America",  "America",  "Asia", "Asia"),
+   country=c("France", "Sweden",   "Germany",  "Mexico",   "USA",  "China",    "Japan"),
+   val=c(71,   89, 58, 2,  38, 5,  48),
+   fac=c(2,3,10,9,11,1,11))
> a
    scal    cont country val fac
1 Global  Europe  France  71   2
2 Global  Europe  Sweden  89   3
3 Global  Europe Germany  58  10
4 Global America  Mexico   2   9
5 Global America     USA  38  11
6 Global    Asia   China   5   1
7 Global    Asia   Japan  48  11

有趣的是,各大洲和全球的摘要不是其组成部分的总和(或最小/最大/平均/平均/标准化......)