[英]write.table by factors
鑒於此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)
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)
但要小心這一點......因為它會默默地將一堆文件寫入當前的工作目錄!
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=".") )
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.