2
선형 회귀를 사용하여 사용자가 lm() 함수에서 사용되는 독립 변수와 종속 변수를 모두 선택할 수있게 해주는 간단한 반짝이는 응용 프로그램을 작성하려고합니다. 몇 가지 차트도 있습니다. 나는 현재 빛의 서버 측에있는 lm() 함수에 입력을 전달하고 회귀 요약을 출력 할 수있다. 누구든지 내 논리/코드가 잘못되어있는 곳에서 나를 도울 수 있습니까? 사전에R의 동적 입력으로 선형 선형 생성 Shiny
YYYYMM AvgIR SumCount AvgLTV AvgGFEE AvgRTC Date
1: 2015-10 0.04106781 180029 0.7531805 0.002424778 319.6837 2015-10-01
2: 2015-11 0.04036154 160061 0.7380383 0.002722529 312.6314 2015-11-01
3: 2015-12 0.04001407 145560 0.7392874 0.002425912 313.0351 2015-12-01
4: 2016-01 0.04034078 147693 0.7396932 0.002600640 315.0238 2016-01-01
5: 2016-02 0.04055688 142545 0.7345160 0.002449523 310.3950 2016-02-01
감사 : 아래의 코드
library(shiny)
library(data.table)
RegData <- as.data.table(read.table("/home/r2uphp/ShinyApps/IRViews/RegData.tsv", header = TRUE, stringsAsFactors = FALSE))
ui <- fluidPage(
headerPanel("Regression and Time Series Analysis"),
sidebarPanel(
p("Select the inputs for the Dependent Variable"),
selectInput(inputId = "DepVar", label = "Dependent Variables", multiple = FALSE, choices = list("AvgIR", "YYYYMM", "SumCount", "AvgLTV", "AvgGFEE", "AvgRTC", "Date")),
p("Select the inputs for the Independent Variable"),
selectInput(inputId = "IndVar", label = "Independent Variables", multiple = FALSE, choices = list("SumCount", "AvgIR", "YYYYMM", "AvgLTV", "AvgGFEE", "AvgRTC", "Date"))
),
mainPanel(
verbatimTextOutput(outputId = "RegSum"),
verbatimTextOutput(outputId = "IndPrint"),
verbatimTextOutput(outputId = "DepPrint")
#plotOutput("hist")
)
)
server <- function(input, output) {
lm1 <- reactive({lm(paste0(input$DepVar) ~ paste0(input$IndVar), data = RegData)})
output$DepPrint <- renderPrint({input$DepVar})
output$IndPrint <- renderPrint({input$IndVar})
output$RegSum <- renderPrint({summary(lm1())})
}
shinyApp(ui = ui, server = server)
여기
This is the result of the shinyapp 내가 사용하고 샘플 데이터 세트입니다!
최고, 감사합니다! lm() 함수의 정규 형식이 다른 스크립트에서와 같이 작동하지 않는 이유가 확실하지 않습니다. 표준 lm()과 달리 여기에서 다시 형식화해야하는 이유를 설명해 주시겠습니까? 예 : 다른 스크립트에서 lm() 함수를 사용했고 다음 함수에 대한 원하는 결과를 제공 할 수있었습니다 : lm2 = lm (AvgIR ~ Date + AvgGFEE + AvgLTV + SumCount + AvgRTC, data = subSD) 하지만이 경우에는 재구성이 필요합니다. – Jst2Wond3r
R의 문자 값과 적절한 기호 사이에는 큰 차이가 있습니다. 수식은 평가되지 않은 기호의 모음입니다. 그것은 문자 값을 전혀 포함하지 않습니다. 문자 값 ('input $ IndVar'와'Input $ DepVar'가 리턴하는 것)으로부터 공식을 만들려면,'reformulate()'또는'as.formula()'와 같은 함수를 사용해야합니다. – MrFlick