R菜鸟在这里。从数据框中提取文件名
我有一个循环,我用来创建输出文件。我使用数据帧作为循环的输入,循环为数据框中的每个“id”值运行查询。我的数据框中的一列包含输出文件名。我在获取循环来动态读取文件名并将其插入write.table语句时遇到了一些麻烦。
工作例如:
ID = c(123,124)
ExtractName = c("sessions.txt","hits.txt")
Dimensions = c("ga:date", "ga:date")
Mertics = c("ga:sessions", "ga:hits")
Extracts = data.frame(ID, ExtractName, Dimensions, Mertics)
for(i in seq(from=1, to=nrow(Extracts), by=1)){
id <- Extracts[i,1]
myresults <- ga$getData(id,batch = TRUE, start.date="2013-12-01", end.date="2014-01-01", metrics = Extracts[i,4], dimensions = Extracts[i,3])
write.table(myresults, file=***dynamicnamehere***, append=TRUE, row.names = FALSE, col.names = appendcolheads, sep="\t")
}
我注意到在输入数据集中有重复的'filenames'。这是一个错字还是可能有不同的'ID'具有相同的文件名? – akrun 2014-10-07 15:15:59
是的,它可能有相同的文件名 - 我没有列出所有的循环,但在某些情况下,它会追加到相同的文件。 – davids12 2014-10-07 15:21:31
如果'myresults'在列表中,列表的长度等于'input'数据集的'nrow',可能是'lapply(seq_along(myresults),function(i)write.table(myresults [[i]],file = input $ filename [i],....))'(没有测试没有示例数据集) – akrun 2014-10-07 15:28:30