R Shiny App-如何使下载按钮正常工作以及如何显示行数?
R Shiny App- How to get download button working and how to display the number of rows?
你好,我正在使用 Shiny 做一个项目。我对 Shiny 非常陌生,所以我什至能做到这一点让我感到非常惊讶。我目前有一些看起来像屏幕截图的东西。它允许您按年份、大洲和国家/地区修改原始数据框,并在更改时显示数据框的统计信息。
我尝试合并一个下载按钮,但是,每当我按下它(甚至在浏览器中)时,它都会尝试另存为 .html 而不是 .csv。我也每次都看到“Failed- server problem”。有没有办法来解决这个问题?我还想确保下载的是用户选择的修改后的数据框,而不是原始数据集。
此外,我尝试添加显示行数的文本(类似于列数)。对原始数据集执行此操作非常容易,但我不确定如何执行 it/display 当数据框被用户视图限制的年份、国家或大陆操作时的结果。
对其中任何一个的任何建议都将非常有帮助!我已经包含了一个文件 bin link belwo,其中包含所有必要的文件。谢谢!
标准下载
这将下载原始数据集。
不确定要为下载的文件命名,所以我已将其硬编码为 test.csv。
output$downloadData <- downloadHandler(
filename = function() {
paste("test.csv", sep = "")
},
content = function(con) {
write.csv(data, con, row.names = TRUE)
}
)
过滤下载
这将根据所选的年份、国家和大陆对数据进行子集化并下载。
文件名将由破折号分隔的选择组成,除非没有进行任何选择,否则文件名将为 'AllData.csv'.
output$downloadData <- downloadHandler(
filename = function() {
selected <-c()
if (input$year != "All") {
selected <-c(selected, input$year)
}
if (input$country != "All") {
selected <-c(selected, input$country)
}
if (input$continent != "All") {
selected <-c(selected, input$continent)
}
if (length(selected) == 0) {
selected <- c("AllData")
}
paste0(paste(selected, collapse="-"), ".csv")
},
content = function(con) {
if (input$year != "All") {
data <- df[df$Year == input$year,]
}
if (input$country != "All") {
data <- df[df$Country == input$country,]
}
if (input$continent != "All") {
data <- df[df$Continent == input$continent,]
}
write.csv(data, con, row.names = TRUE)
}
)
你好,我正在使用 Shiny 做一个项目。我对 Shiny 非常陌生,所以我什至能做到这一点让我感到非常惊讶。我目前有一些看起来像屏幕截图的东西。它允许您按年份、大洲和国家/地区修改原始数据框,并在更改时显示数据框的统计信息。
我尝试合并一个下载按钮,但是,每当我按下它(甚至在浏览器中)时,它都会尝试另存为 .html 而不是 .csv。我也每次都看到“Failed- server problem”。有没有办法来解决这个问题?我还想确保下载的是用户选择的修改后的数据框,而不是原始数据集。
此外,我尝试添加显示行数的文本(类似于列数)。对原始数据集执行此操作非常容易,但我不确定如何执行 it/display 当数据框被用户视图限制的年份、国家或大陆操作时的结果。
对其中任何一个的任何建议都将非常有帮助!我已经包含了一个文件 bin link belwo,其中包含所有必要的文件。谢谢!
标准下载
这将下载原始数据集。
不确定要为下载的文件命名,所以我已将其硬编码为 test.csv。
output$downloadData <- downloadHandler(
filename = function() {
paste("test.csv", sep = "")
},
content = function(con) {
write.csv(data, con, row.names = TRUE)
}
)
过滤下载
这将根据所选的年份、国家和大陆对数据进行子集化并下载。 文件名将由破折号分隔的选择组成,除非没有进行任何选择,否则文件名将为 'AllData.csv'.
output$downloadData <- downloadHandler(
filename = function() {
selected <-c()
if (input$year != "All") {
selected <-c(selected, input$year)
}
if (input$country != "All") {
selected <-c(selected, input$country)
}
if (input$continent != "All") {
selected <-c(selected, input$continent)
}
if (length(selected) == 0) {
selected <- c("AllData")
}
paste0(paste(selected, collapse="-"), ".csv")
},
content = function(con) {
if (input$year != "All") {
data <- df[df$Year == input$year,]
}
if (input$country != "All") {
data <- df[df$Country == input$country,]
}
if (input$continent != "All") {
data <- df[df$Continent == input$continent,]
}
write.csv(data, con, row.names = TRUE)
}
)