首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >data.table -使用~var| data.table -data.table/ dcast将因子拆分为列表的元素

data.table -使用~var| data.table -data.table/ dcast将因子拆分为列表的元素
EN

Stack Overflow用户
提问于 2020-03-26 05:56:51
回答 1查看 23关注 0票数 0

我有一个很大的data.table,我正在使用它对不同级别的数据进行后续分析。为了避免重复的代码,我想把我的data.table分成更小的块,并将它们保存为列表(的元素)。几天前,我看到一个帖子,上面用到了这样的东西:

代码语言:javascript
复制
setDT(mtcars)
names(mtcars)
combi <- dcast(mtcars[,.(carb, gear, mpg, cyl, vs)], cyl + gear ~ vs|cyl)

这导致了一个单独的(宽的) data.table,其中包含cylgearvs -分别用于年份cyl。重点是为每个cyl保存单独的data.table,不一定是在宽表上(我相信这篇文章使用了castdcast来达到预期的结果)

然而,我在任何地方都找不到这篇文章,也找不到任何关于类似操作的文档。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-27 11:58:59

下面展示了如何将每个级别的cyl的数据表放入列表中-如果您想将它们写入.txt文件等,只需将该部分更改为fwrite(...)即可。请注意,它是按照cyl在数据中的顺序执行的(当cyl =6时,i=1;当cyl =4时,i=2...):

代码语言:javascript
复制
dtCars <- data.table(mtcars, keep.rownames = TRUE)
carsList <- list()
for(i in 1:length(dtCars[,unique(cyl)])){
  carsList[[i]] <- dtCars[cyl == unique(cyl)[i]]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60857944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档