考虑到这个dataFrame:
years random_numbers
1 2003 -24
2 2004 152
3 2005 23
4 2006 73
5 2007 80
6 2008 85
. .... ..生成数据框架的代码:
years = c(rep(2003:2012,4))
random_numbers = as.integer(rnorm(40)*100)
testDF = data.frame(years, random_numbers)我怎么才能生成ff。文本文件:
我有点不知所措。我想把年数作为因素,然后以某种方式将它与
write.table(???, ???, append = T, row.names = F, col.names = T)发布于 2012-08-22 22:20:45
plyr包和d_ply使得这很容易。
定义一个写入文件的函数:
myfun <- function(x) {
filename <- paste0(unique(x$years), '.txt')
write.table(x$random_numbers, filename, row.names=F, col.names=T)
}然后用d_ply调用它
d_ply(testDF, .(years), myfun)不过小心点..。因为它会悄悄地将一堆文件写入当前的工作目录!
发布于 2012-08-22 23:48:01
sapply(testDF$years, function(x)
write.table(testDF[testDF$years==x,], file=paste(x, "txt", sep=".") )
)您不希望设置append=T。也可以使用子集:
sapply(testDF$years, function(x)
write.table(subset( testDF, years==x), file=paste(x, "txt", sep=".") )
)https://stackoverflow.com/questions/12081701
复制相似问题