r-我如何使用这个ggplot并使用我的输入来更改y的变量名



由于某些原因,这三个输入工作正常,它们用于过滤数据帧。但是在变量名之间更改的最后一个输入不起作用。有人能找到错误或解决方案吗。我的代码如下:


标题:";Janus Heilsuefling";输出:flexdashboard::flex_dashboard运行时:亮

library(flexdashboard)
library(shiny)
library(tidyverse)
library(dplyr)
library(plotly)
library(lme4)
library(lmerTest)
library(emmeans)

输入{.边栏}

bara_fyrsta <- read.csv("bara_fyrsta.csv", header = TRUE, sep=",")
vanir <- read.csv("fyrir_thor.csv", header = TRUE, sep=",")
vanir$aldursflokkur <- cut(vanir$aldur, c(65,70,75, 80, 120), right = F)
bara_fyrsta$aldursflokkur <- cut(bara_fyrsta$aldur, c(65,70,75, 80, 120), right = F)
levels(bara_fyrsta$aldursflokkur) <- c("65-70 ára","70-75 ára", "75-80 ára","80 ára og eldri")
levels(vanir$aldursflokkur) <- c("65-70 ára","70-75 ára", "75-80 ára","80 ára og eldri")
bara_fyrsta$Kyn <- factor(bara_fyrsta$Kyn)
vanir$Kyn <- factor(vanir$Kyn)
listi_sveitarfelog <- unique(bara_fyrsta$sveitarfelag)
listi_aldursflokkar  <- unique(bara_fyrsta$aldursflokkur)
breytulisti <- names(bara_fyrsta)

selectInput(inputId = "sveitarfelag",
label = "Veldu sveitarfélag",
choices = listi_sveitarfelog)
selectInput(inputId = "aldursflokkur",
label = "Veldu Aldursflokk",
choices = listi_aldursflokkar)

Kynjalisti<-c("Karl", "Kona")
selectInput(inputId = "Kyn",
label = "Veldu Kyn",
choices = Kynjalisti)
breytulisti <- c("MMa","Dagleg_Hreyfing_Medaltal", "Life_Quality","HaStyBadar","Stóll_30s","BMI")
selectInput(inputId = "talnabreyta",
label = "Hvaða breytu viltu skoða?",
choices = breytulisti)



output$mynd_boxplot <- renderPlot({bara_fyrsta %>% 
filter(sveitarfelag == input$sveitarfelag) %>%
filter(Kyn == input$Kyn)%>%
ggplot(aes(x=aldursflokkur, y=input$talnabreyta)) +geom_boxplot()})

列{数据宽度=450}

Dreifingávöv


plotOutput("mynd_boxplot")

雷5

vanir <- vanir %>% arrange(RN,Mæling) %>% mutate(m=factor(Mæling))
fit1 <- lmer(MMa ~ m + aldursflokkur + Kyn + (1|RN),data=vanir)
ema <-emmeans(fit1,pairwise~m)
dema <- data.frame(ema)
medaltol = 
plot(ema,horizontal=F)

ggplotly(medaltol)

列{数据宽度=450}

Upphafsstağaút frákyni og aldri


mynd = ggplot(bara_fyrsta, aes(x = aldur,y = MMa, color = Kyn)) +
geom_point() + geom_smooth(se = F)
ggplotly(mynd)

Endurtekningar mælingar einstaklinga

idkendur <-unique(vanir$RN)
gagnasett <- filter(vanir, RN==idkendur[2])
linurit = ggplot(gagnasett, aes(x = Mæling, y = MMa, color = Kyn)) + geom_point() + geom_line()
ggplotly(linurit)

理解你的代码/问题有点困难,因为很多都是用法罗群岛语写的。然而,绘图的主要问题与input$talnabreyta是一个字符串有关,它不能像您那样在ggplot中作为变量名传递。您需要以正确的方式将其视为字符串(1(或将其用作符号(2(。

更改:

(0(ggplot(aes(x=aldursflokkur, y=input$talnabreyta))

收件人:

(1(ggplot(aes(x=x, y=.data[[input$talnabreyta]]))

(2(ggplot(aes(x=x, y=!!ensym(talnabreyta)))

最新更新