我有个人级别的数据,我试图根据组动态总结结果。按data.table中的组绘图
例子:
set.seed(12039)
DT <- data.table(id = rep(1:100, each = 50),
grp = rep(letters[1:4], each = 1250),
time = rep(1:50, 100),
outcome = rnorm(5000))
我想知道绘制组级别摘要最简单的方式,数据载于:
DT[ , mean(outcome), by = .(grp, time)]
我想是这样的:
但这根本不起作用。
我上幸存的可行选项(可以很容易地循环)为:
plot(DT[grp == "a", mean(outcome), by = time])
lines(DT[grp == "b", mean(outcome), by = time])
lines(DT[grp == "c", mean(outcome), by = time])
lines(DT[grp == "d", mean(outcome), by = time])
(与颜色等添加的参数,排除了简洁)
这令我不做到这一点的最好方法 - 给予data.table
在处理群体方面的技巧,是不是有更优雅的解决方案?
其他来源已经指向我matplot
,但我不能看到一个简单的方法来使用它 - 我需要重塑DT
,并有一个简单的reshape
,将完成这项工作?
这个工作,但'dt_cast [,setdiff(名称(dt_cast), “时间”),其中= F]'或'dt_cast [ ,当有多个组时,需要使用等级(dt $ grp),其中= F]'。谢谢! – MichaelChirico 2015-02-09 12:41:17
实际上,最近更新到'data.table'就更容易了! – MichaelChirico 2016-10-05 03:21:08