我尝试编写第一个交互式.Rmd文件:
我只想通过
在线性回归x~y中显示相互作用 y(x)= a*x + b
我只想拍两张滑块:
一个用于b,一个用于
我的代码到现在为止:
---
output: html_document
runtime: shiny
---
## some text...
*some more text
<br><br>
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r, echo = FALSE, message=FALSE, warnings=FALSE}
mietspiegel <- read.table("http://www.stat.uni-muenchen.de/service/datenarchiv/miete/miete03.asc", header=TRUE)
mieten_regression <- lm(mietspiegel$nm ~ mietspiegel$wfl)
mieten_regression$coefficients
b <- mieten_regression$coefficients[1] # Coefficient No. 1 Intercept
a <- mieten_regression$coefficients[2] # Coefficient No. 2 mietspiegel$wfl
# Slider ...
inputPanel(sliderInput("b", "Coefficient No. 1 Intercept", min = 0, max = 2000, step = 1, value = b),
sliderInput("a", "Coefficient No. 2 Wohnflaeche", min = 0, max = 200, step = 10, value = a),
actionButton("sample", "Resample"))
# Scatterplott
library(ggplot2)
ggplot(mietspiegel,
aes(y=nm, x=wfl)) +
geom_abline(intercept = b, slope = a, colour = "red") + # Add inear regression line
geom_point(shape=1) + # Use hollow circles
xlab("Fläche") +
ylab("Price")
```
我不知道如何正确使用滑块输入。我想要我的线性回归线a的滑块和b的滑块,这样你就可以在那里输入你的系数截距(b)和mietspiegel $ wfl(a)并在此之后看到新的回归线。
答案 0 :(得分:0)
要使geom_abline
依赖于你的滑块,你应该将ggplot部分包装到renderPlot
函数中,然后将参数a
设置为input$a
和参数{{1}到b
。 (您使用input$b
)
input$id
已编辑:我在下面的代码中添加了对更多问题的答案,作为评论
renderPlot({
library(ggplot2)
ggplot(mietspiegel,
aes(y=nm, x=wfl)) +
geom_abline(intercept = input$b, slope = input$a, colour = "red") + # Add inear regression line
geom_point(shape=1) + # Use hollow circles
xlab("Fläche") +
ylab("Price")
})