R数据帧根据列值有条件地聚合,每季度
我正在运行以下命令:R数据帧根据列值有条件地聚合,每季度,r,R,我正在运行以下命令: aggregated_quarterly_realised <- aggregate(merged_dataset$dependent_variable, list(merged_dataset$qy), mean) 我想要的是测试变量(合并的数据集$test)的每季度聚合值(季度在合并的数据集$qy变量中),分别用于因变量的值0、值1和总数。使用数据。表: 代码 dtf = dt[, .(Dep1sum = sum(test[depvar == 1]),
aggregated_quarterly_realised <- aggregate(merged_dataset$dependent_variable, list(merged_dataset$qy), mean)
我想要的是测试变量(合并的数据集$test)的每季度聚合值(季度在合并的数据集$qy变量中),分别用于因变量的值0、值1和总数。使用
数据。表:
代码
dtf = dt[, .(Dep1sum = sum(test[depvar == 1]),
Dep0sum = sum(test[depvar == 0]),
Sum = sum(test)), .(qy)]
结果
> dtf
qy Dep1sum Dep0sum Sum
1: 2008.25 15244705 15597495.4 30842200.4
2: 2008.50 0 800585.8 800585.8
3: 2008.75 0 8029604.4 8029604.4
4: 2009.25 6707123 0.0 6707122.6
5: 2009.50 0 646079.5 646079.5
数据
dt = data.table(
depvar = c(0, 0, 0, 0, 1, 0, 0, 0, 1, 0),
qy = c(2008.25, 2008.25, 2008.50, 2008.75, 2009.25, 2009.50, 2008.25, 2008.25, 2008.25, 2008.25),
test = c(7101273.07, 6855586.59, 800585.78, 8029604.44, 6707122.59, 646079.46, 14598.96, 1303978, 15244705, 322058.74)
)
嗨,请给我们提供一个(例如,一些数据来运行你的代码)以使我们更容易帮助你。嗨@SamuelDiebolt我编辑了我的帖子并添加了一些数据。请让我知道这是否正确。我在中得到以下错误错误。(Dep1sum=sum(test[depvar==1]),Dep0sum=sum(test[depvar==:找不到函数)。“
是否加载了数据.table
库?执行require(data.table)
。然后,通过执行setDT(merged_dataset)
,确保数据为data.table格式。没问题!data。table
对于这样的数据争用非常有用。随着数据规模的扩大,它在速度方面也优于其他包()。请参阅介绍性教程。抱歉,这实际上是不对的。总和小于Dep1sum,这本不应该是这样的。。为什么会发生这种情况?您能解决它吗?在您的数据中,它似乎是正确的。奇怪的是,您是对的。我的错!!!抱歉!我得到了2008年第2季度291159243,7 1127901086 1419060330
,并且感到困惑
dt = data.table(
depvar = c(0, 0, 0, 0, 1, 0, 0, 0, 1, 0),
qy = c(2008.25, 2008.25, 2008.50, 2008.75, 2009.25, 2009.50, 2008.25, 2008.25, 2008.25, 2008.25),
test = c(7101273.07, 6855586.59, 800585.78, 8029604.44, 6707122.59, 646079.46, 14598.96, 1303978, 15244705, 322058.74)
)