Shiny 在闪亮的应用程序中显示数据帧的子集
对于Shiny来说,我是个新手,我正在尝试创建一个非常简单的应用程序,涉及以下事件序列: (1) 上传一个数据帧 (2) 等待用户设置过滤参数(Shiny 在闪亮的应用程序中显示数据帧的子集,shiny,Shiny,对于Shiny来说,我是个新手,我正在尝试创建一个非常简单的应用程序,涉及以下事件序列: (1) 上传一个数据帧 (2) 等待用户设置过滤参数(Category,在下面的示例中) (3) 按aGo按钮 (4) 显示子集数据框的第一行 假设我有一个文件df.tab要上传和处理 df <- data.frame(Category=c("A","A","A","B","B","B"), X=c(1,2,3,1,2,3), Y=c(1,2,3,34,21,1)) df Category X
Category
,在下面的示例中)
(3) 按aGo代码>按钮
(4) 显示子集数据框的第一行
假设我有一个文件df.tab
要上传和处理
df <- data.frame(Category=c("A","A","A","B","B","B"), X=c(1,2,3,1,2,3), Y=c(1,2,3,34,21,1))
df
Category X Y
1 A 1 1
2 A 2 2
3 A 3 3
4 B 1 34
5 B 2 21
6 B 3 1
write.table(df, file="df.tab", row.names=F, quote=F, sep="\t")
但是,该应用程序要么没有响应,要么不显示任何行
请注意,我创建了两个不同的反应事件data
和data\u sub
,以避免每次选择不同类别时加载文件(并可能避免递归函数的堆栈错误)
任何帮助都将不胜感激。这里是一个工作的服务器
功能。使用reactive
,而不是eventReactive
,这非常简单
请注意,您的示例假设您有一个Category列,我在下面对其进行了修改,使其可以处理任何内容
# Define server logic ----
server <- function(input, output) {
dataset <- reactive({
File <- input$input_df
req(File)
read.table(File$datapath, header = TRUE, sep = "\t")
})
data_sub <- reactive({
if("Category" %in% names(dataset())){
subset(dataset(), Category == input$category)
} else {
dataset()
}
})
output$view <- renderTable({
head(data_sub())
})
}
#定义服务器逻辑----
服务器这里有一个工作的服务器
功能。使用reactive
,而不是eventReactive
,这非常简单
请注意,您的示例假设您有一个Category列,我在下面对其进行了修改,使其可以处理任何内容
# Define server logic ----
server <- function(input, output) {
dataset <- reactive({
File <- input$input_df
req(File)
read.table(File$datapath, header = TRUE, sep = "\t")
})
data_sub <- reactive({
if("Category" %in% names(dataset())){
subset(dataset(), Category == input$category)
} else {
dataset()
}
})
output$view <- renderTable({
head(data_sub())
})
}
#定义服务器逻辑----
谢谢你的建议。但是,还是一样的问题:没有显示任何内容。它工作正常-我只是忘记了一个额外的(
-请尝试已编辑的服务器功能我看到缺少的(
。很抱歉,仍然不起作用。只显示标题。我正在运行Shining_1.4.0
。它在这里确实起作用。您是否尝试选择了一些没有类别列的文件?然后是标题()所有数据中的一个都应该显示感谢您的建议。但是,仍然存在相同的问题:没有显示任何内容。它工作正常-我只是忘记了一个额外的(
)-请尝试编辑的服务器功能我看到缺少的(
。很抱歉,仍然不起作用。只显示标题。我正在运行Shining_1.4.0
。它在这里确实起作用。您是否尝试选择了一些没有类别列的文件?然后应该显示所有数据的标题()