通过for循环创建多个data.frames并相应地命名它们

时间:2014-04-04 13:25:46

标签: r for-loop dataframe

我想对列表的每个元素(空气质量站的站点代码)应用for循环,并为每个具有特定数据的站点创建单个data.frame。

我目前的代码如下:

for (i in Stations))
{i_PM <- data.frame(PM2.5$DateTime,PM2.5$i)
colnames(i_PM)[1] <- "DateTime"
i_AOT <- subset(MOD2011, MOD2011$Station_ID==i)
i <- merge(i_PM, i_AOT, by="DateTime")}

电台由28个元素组成。结果应该是每个站的data.frame,其中包含Colome DateTime,PM2.5和MOD2011中的几个元素。

我只是不应该像它应该的那样运行它。我确定是我的错,我无法通过互联网找到具体的答案。 你能告诉我我的错误吗?

1 个答案:

答案 0 :(得分:0)

尝试assign

for (i in Stations)) {
    dat <- data.frame(PM2.5$DateTime,PM2.5$i)
    dat2 <- subset(MOD2011, MOD2011$Station_ID==i)
    colnames(i_PM)[1] <- "DateTime"
    assign(paste(i, "_PM", sep=""), dat)
    assign(paste(i, "_AOT", sep=""), dat2)
    assign(i, merge(dat, dat2, by="DateTime"))
}

但请注意,这是错误的编码实践。你应该重新考虑你的算法。例如,改为使用列表。