首页 > 解决方案 > 如何从 R data.table 获取矩阵列表

问题描述

我有以下数据表:

在此处输入图像描述

如何将其转换为矩阵列表,对于每个 MV 值,我有 3 个矩阵(consumption、dailySd 和 isAbsentBool),其中包含每个时间段的元素(总共有 178 个时间段):

在此处输入图像描述

标签: rdata.table

解决方案


采用lapply

lapply(as.list(unique(DF$mv)), function(x){return(as.matrix(DF[(mv==x), list(consumption, dailySd, period)]))})

的第一个参数lapply是 mv 值的唯一列表,第二个参数是过滤 data.table、保留相关列并将其转换为矩阵的函数。lapply自动循环列表并返回列表


推荐阅读