小编Sta*_*tan的帖子

data.table中的数据驱动的绘图名称

这是学习data.table包的语法的个人项目.我正在尝试使用数据值创建多个图表,并根据by组值标记每个图表.例如,给出以下数据:

# Generate dummy data
require(data.table)

set.seed(222)
DT = data.table(grp=rep(c("a","b","c"),each=10), 
 x = rnorm(30, mean=5, sd=1), 
 y = rnorm(30, mean=8, sd=1))

setkey(DT, grp)
Run Code Online (Sandbox Code Playgroud)

数据由3组(a,b和c)的随机x和y值组成.我可以使用以下代码创建所有值的格式化图:

# Example of plotting all groups in one plot
require(ggplot2)

p <- ggplot(data=DT, aes(x = x, y = y)) + 
  aes(shape = factor(grp))+
  geom_point(aes(colour = factor(grp), shape = factor(grp)), size = 3) +
  labs(title = "Group: ALL")
p
Run Code Online (Sandbox Code Playgroud)

这会创建以下图: 所有群体的情节

相反,我想为每个by组创建一个单独的图,并将图标题从"Group:ALL"更改为"Group:a","Group:b","Group:c"等.数据文档.表说:

.BY是一个列表,其中包含每个项目的长度为1的向量by.当事先不知道时,这可能是有用的.该by变量也可用于j直接通过名称; 例如,对于 …

plot r ggplot2 data.table

6
推荐指数
2
解决办法
967
查看次数

ggvis:在一个图中组合多个数据集

我已经阅读过有关SO类似文章,但无法根据我的具体情况调整答案。我正在使用时间序列数据,并希望将两个不同的数据集合并到同一图中。尽管我可以将数据合并到一个数据框中,但我确实对理解如何引用多个数据集感兴趣。

模拟数据:

require(ggvis)

dfa <- data.frame(
date_a = seq(from= as.Date("2015-06-10"), 
        to= as.Date("2015-07-01"), by= 1),
val_a = c(2585.150, 2482.200, 3780.186, 3619.601, 
        0.000, 0.000, 3509.734, 3020.405, 
        3271.897, 3019.003, 3172.084, 0.000, 
        0.000, 3319.927, 2673.428, 3331.382, 
        3886.957, 2859.887, 0.000, 0.000, 
        2781.443, 2847.377) )

dfb <- data.frame(
date_b = seq(from= as.Date("2015-07-02"), 
        to= as.Date("2015-07-15"), by= 1),
val_b = c(3250.75429, 3505.43477, 3208.69141,
        -2.08175, -27.30244, 3324.62348, 
        2820.91075, 3250.75429, 3505.43477,
        3208.69141, -2.08175, -27.30244,
        3324.62348, 2820.91075) )
Run Code Online (Sandbox Code Playgroud)

使用上面提供的数据,我可以使用以下代码创建单独的图:

单独的图:(工作)

dfa %>%
ggvis( x= ~date_a …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 ggvis

4
推荐指数
1
解决办法
781
查看次数

标签 统计

ggplot2 ×2

plot ×2

r ×2

data.table ×1

ggvis ×1