首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for循环来创建数据帧,这些数据帧是另一个数据帧的子集

for循环来创建数据帧,这些数据帧是另一个数据帧的子集
EN

Stack Overflow用户
提问于 2020-01-14 20:32:48
回答 1查看 50关注 0票数 0

我正在尝试创建一个for循环,用于创建原始数据的子集

现在我创建的子集如下:

代码语言:javascript
复制
Dataset_1 <- subset(Dataset1, compliance>=0)    
Dataset_2 <- subset(Dataset1, compliance>=5) 
Dataset_3 <- subset(Dataset1, compliance>=10)
Dataset_4 <- subset(Dataset1, compliance>=15)
Dataset_5 <- subset(Dataset1, compliance>=20)
Dataset_6 <- subset(Dataset1, compliance>=25)

然而,我想使用一个for循环来做这件事,并且认为像这样的东西可能会起作用:

代码语言:javascript
复制
Dataset_ = {}
for (i in 1:6){
  Dataset_[[i]] = subset(Dataset1, compliance>=(0+(i-1)*5))
}

当我这样做的时候,我得到了一个包含数据帧的列表。然而,我想知道是否有一种方法可以编写for循环,这样数据帧就不会放在列表中,而是作为单独的数据帧。原因:我想将创建为.Rdata文件的数据框保存在文件夹中,例如:

代码语言:javascript
复制
save(Dataset_2, file = "Hypothesis1/Dataset1.RData")
save(Dataset_3, file = "Hypothesis1/Dataset2.RData")
save(Dataset_4, file = "Hypothesis1/Dataset3.RData")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-31 20:35:21

您不需要创建列表。您可以在for循环中直接将文件写入磁盘,如下所示:

代码语言:javascript
复制
for (i in seq(6)) {

  save(subset(Dataset1, compliance >= (0 + (i-1) * 5)),
       file = sprintf("Hypothesis1/Dataset%s.RData", i))

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59733862

复制
相关文章

相似问题

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