我正在尝试创建一个for循环,用于创建原始数据的子集
现在我创建的子集如下:
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循环来做这件事,并且认为像这样的东西可能会起作用:
Dataset_ = {}
for (i in 1:6){
Dataset_[[i]] = subset(Dataset1, compliance>=(0+(i-1)*5))
}当我这样做的时候,我得到了一个包含数据帧的列表。然而,我想知道是否有一种方法可以编写for循环,这样数据帧就不会放在列表中,而是作为单独的数据帧。原因:我想将创建为.Rdata文件的数据框保存在文件夹中,例如:
save(Dataset_2, file = "Hypothesis1/Dataset1.RData")
save(Dataset_3, file = "Hypothesis1/Dataset2.RData")
save(Dataset_4, file = "Hypothesis1/Dataset3.RData")发布于 2020-01-31 20:35:21
您不需要创建列表。您可以在for循环中直接将文件写入磁盘,如下所示:
for (i in seq(6)) {
save(subset(Dataset1, compliance >= (0 + (i-1) * 5)),
file = sprintf("Hypothesis1/Dataset%s.RData", i))
}https://stackoverflow.com/questions/59733862
复制相似问题