我正在尝试创建一个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")
您无需创建列表。您可以for
按照以下步骤将文件直接写到磁盘中:
for (i in seq(6)) {
save(subset(Dataset1, compliance >= (0 + (i-1) * 5)),
file = sprintf("Hypothesis1/Dataset%s.RData", i))
}