Я пытаюсь добавить информацию об источнике в загруженную таблицу, которая содержит фрейм данных.Я использую обработчик загрузки файла, чтобы загрузить файл.Я реализовал загрузку только кадра данных без добавления дополнительного текста, и это прекрасно работает.При попытке добавить текст с таблицей я получаю файл загрузки в формате csv, но информация об источнике отсутствует, и в последней строке есть NA в 1-м и 2-м столбцах соответственно.Остальная часть последней строки пуста.
Вот мой код для обработчика загрузки, который не производит добавленный текстовый вывод:
downloadHandler(
filename = function() {
paste("Estimation_", Sys.Date(), ".csv", sep="")
},
content = function(file) {
df <- localTable()
df[nrow(df)+1,] <- NA
df[nrow(df),1] <- "Source: This is the source information for the table"
write.csv(df,
file,
na = "",
row.names=FALSE,
append = TRUE)
},
contentType = "text/csv",
outputArgs = list(label = "Download Table")
)
С другой стороны, я пробовал ту же функциональностьотдельно работает нормально.Вот код, который я использовал в отдельном R-скрипте, который делает то же самое.
df = data.frame(hello=rnorm(1:5), world=rnorm(1:5));
df[nrow(df)+1,] <- NA
df[nrow(df),1] <- "Source: This is the source information for the table"
write.csv(df,
file ="abc.csv",
na = "",
row.names=FALSE)
Я не знаю, связана ли проблема именно с Shiny, или с чем-то еще.Обратите внимание, что я использую этот код как часть Flexdashboard, которая запускает файл RMD для генерации вывода.Я пробовал несколько других способов создания фрейма данных, как показано ниже;и затем переход к downloadHandler, но не повезло.
dlTable <- reactive({
df_results <- localTable()
df_notes <- "Source: This is the source information for the table"
df_to_dl <- rbindlist(list(df_results,df_notes))
return(df_to_dl)
})
Любые предложения и помощь высоко ценится.
Спасибо