R:Dplyr';分组人';在有光泽的环境中似乎不起作用
我刚刚开始使用Shiny进行实验,但我在让dplyr的“groupby”函数工作时遇到了一个问题 我的总体想法是,我有一个数据集,其中包含许多数字变量和一个变量,通过这些变量可以对这些变量进行分组(在我的例子中是19个国家,因此变量范围为1到19)。 现在我想使用metafor软件包对每个国家的两个变量之间的相关性进行荟萃分析。 因此,我想分别计算每个国家的两个选定变量之间的相关性,然后将它们放在一个荟萃分析中,最后显示这些影响的森林图 我以mtcars数据集为例,说明我已经取得了多大的进步: UI:R:Dplyr';分组人';在有光泽的环境中似乎不起作用,r,group-by,shiny,dplyr,metafor,R,Group By,Shiny,Dplyr,Metafor,我刚刚开始使用Shiny进行实验,但我在让dplyr的“groupby”函数工作时遇到了一个问题 我的总体想法是,我有一个数据集,其中包含许多数字变量和一个变量,通过这些变量可以对这些变量进行分组(在我的例子中是19个国家,因此变量范围为1到19)。 现在我想使用metafor软件包对每个国家的两个变量之间的相关性进行荟萃分析。 因此,我想分别计算每个国家的两个选定变量之间的相关性,然后将它们放在一个荟萃分析中,最后显示这些影响的森林图 我以mtcars数据集为例,说明我已经取得了多大的进步:
library(shiny)
library(metafor)
library(dplyr)
ui <- fluidPage(
sidebarPanel(
selectInput("x", label = "Choose Variable I",
choices = c("Displacement (cu.in.)", "Horsepower", "Rear axle ratio",
"Weight (1000lbs)", "1/4 mile time"), selected = "Displacement (cu.in.)"),
selectInput("y", label = "Choose Variable II",
choices = c("Displacement (cu.in.)", "Horsepower", "Rear axle ratio",
"Weight (1000lbs)", "1/4 mile time"), selected = "Horsepower")
),
mainPanel(
plotOutput(outputId = "plot")
)
)
server <- function(input, output) {
output$plot <-renderPlot({
data_x <- switch(input$x,
"Displacement (cu.in.)" = mtcars$disp,
"Horsepower" = mtcars$hp,
"Rear axle ratio" = mtcars$drat,
"Weight (1000lbs)" = mtcars$wt,
"1/4 mile time" = mtcars$qsec)
data_y <- switch(input$y,
"Displacement (cu.in.)" = mtcars$disp,
"Horsepower" = mtcars$hp,
"Rear axle ratio" = mtcars$drat,
"Weight (1000lbs)" = mtcars$wt,
"1/4 mile time" = mtcars$qsec)
meta_main <- mtcars %>%
group_by(gear) %>%
summarise(participantID = n(),
correlation = cor(data_x, data_y, use = "complete.obs"))
meta <- rma(ni=participantID, ri=correlation,
method="REML", measure="COR", data=meta_main)
forest(meta)
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(metafor)
图书馆(dplyr)
ui试试这个服务器功能,首先你应该加载lazyeval
包
server <- function(input, output) {
output$plot <-renderPlot({
data_x <- switch(input$x,
"Displacement (cu.in.)" = "disp",
"Horsepower" = "hp",
"Rear axle ratio" = "drat",
"Weight (1000lbs)" = "wt",
"1/4 mile time" = "qsec")
data_y <- switch(input$y,
"Displacement (cu.in.)" = "disp",
"Horsepower" = "hp",
"Rear axle ratio" = "drat",
"Weight (1000lbs)" = "wt",
"1/4 mile time" = "qsec")
meta_main <- mtcars %>%
group_by(gear) %>%
mutate(participantID = n()) %>%
group_by(gear, participantID) %>%
summarise_(correlation = interp(~cor(x, y, use = "complete.obs"), x = as.name(data_x), y = as.name(data_y)))
meta <- rma(ni=participantID, ri=correlation,
method="REML", measure="COR", data=meta_main)
forest(meta)
})
}
server当您尝试按组分组时,您是否也使用了summary\uu
!这很有效。非常感谢你,我已经试了很久了!我需要看看标准评估方法。注意这些方法现在已经过时了。