我在一个csv文件中有50年的这些数据。我想将数据按月分成12个csv文件。示例:一个文件将只包含所有50年的1月数据。
如何阅读/准备数据?我必须在R中完成。
YEAR Month level
1900 1 1.11
1900 2 1.64
1900 3 1.35
1900 4 4.26
1900 5 4.91
1900 6 0.62
1900 7 5.6
1900 8 2.12
1900 9 5.99
1900 10 4.74
1900 11 1.69
1900 12 0.39
谢谢!
答案 0 :(得分:2)
根据建议,您可以使用split
然后递归保存选择其中一个循环结构/函数(例如,在write.csv
循环中的for
跟随)
# After having imported your csv file you'll have
# a data.frame similar to this one
my.df <- data.frame(year = rep(1900:2000, each = 12),
month = rep(1:12, 101),
level = rnorm(101*12))
# then
df.spl <- split(my.df, my.df$month)
for (i in names(df.spl)) {
write.csv(df.spl[[i]],
sprintf("month_%s.csv", i),
row.names = FALSE)
}
答案 1 :(得分:0)
这里的简单解决方案。
jan <- new[new[,2]==1,]
数据强>
new=read.table( header=TRUE, text="YEAR Month level
1900 1 1.11
1900 2 1.64
1900 3 1.35
1900 4 4.26
1900 5 4.91
1900 6 0.62
1900 7 5.6
1900 8 2.12
1900 9 5.99
1900 10 4.74
1900 11 1.69
1900 12 0.39")