R rookie здесь.Извлечь имя файла из фрейма данных
У меня есть цикл, который я использую для создания выходных файлов. Я использую фрейм данных как вход в цикл, цикл запускает запрос для каждого значения «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' в вашем исходном наборе данных. Является ли это опечаткой или возможно, что разные идентификаторы «идентификаторы» имеют одинаковое имя файла? – akrun
Да, возможно иметь одинаковое имя файла - я не перечислял весь цикл, но в некоторых случаях он будет прикрепляться к тому же файлу. – davids12
Если 'myresults' находятся в' list' с длиной списка, равным 'nrow' набора данных' input', возможно, 'lapply (seq_along (myresults), function (i) write.table (myresults [[i]], file = input $ filename [i], ....)) '(не тестировался без примерного набора данных) – akrun