【发布时间】:2020-07-27 09:42:36
【问题描述】:
这是我的原始代码:
library(shiny)
library("neuralnet")
require(ggplot2)
load("C:/gambit/NeuralNetwork.Rdata")
ui <- fluidPage(
fluidRow(
column(width = 12, class = "well",
h4("Neural Network Plot"),
plotOutput("main_plot"),
hr(),
numericInput(inputId = "w",
label = "Weight(w):",
value = 5),
numericInput(inputId = "b",
label = "Biased(b):",
value = 5))))
#--------------------------------------------------------------------------------------------
server <- function(input, output) {
output$main_plot <- renderPlot({
traininginput <- as.data.frame(runif(50, min=0, max=100))
trainingoutput <- sqrt(traininginput)
trainingdata <- cbind(traininginput,trainingoutput)
colnames(trainingdata) <- c("Input","Output")
net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=c(input$w, input$b), threshold=0.01)
print(net.sqrt)
plot(net.sqrt)
testdata <- as.data.frame((1:13)^2) #Generate some squared numbers
net.results <- predict(net.sqrt, testdata) #Run them through the neural network
class(net.results)
print(net.results)
cleanoutput <- cbind(testdata,sqrt(testdata),
as.data.frame(net.results))
colnames(cleanoutput) <- c("Input","ExpectedOutput","NeuralNetOutput")
head(cleanoutput)
lm1<- lm(NeuralNetOutput~ ExpectedOutput, data = cleanoutput)
ggplot(data = cleanoutput, aes(x= ExpectedOutput, y= NeuralNetOutput)) + geom_point() +
geom_abline(intercept = 0, slope = 1
, color="brown", size=0.5)})}
shinyApp(ui,server)
我尝试过的代码:
library(shiny)
library("neuralnet")
require(ggplot2)
load("C:/gambit/NeuralNetwork.Rdata")
ui <- fluidPage(
fluidRow(
column(width = 12, class = "well",
h4("Neural Network Plot"),
plotOutput("main_plot"),
hr(),
numericInput(inputId = "w",
label = "Weight(w):",
value = 5),
numericInput(inputId = "b",
label = "Biased(b):",
value = 5),
actionButton("update", "Update View"))))
#--------------------------------------------------------------------------------------------
server <- function(input, output) {
output$main_plot <- renderPlot({
traininginput <- as.data.frame(runif(50, min=0, max=100))
trainingoutput <- sqrt(traininginput)
trainingdata <- cbind(traininginput,trainingoutput)
colnames(trainingdata) <- c("Input","Output")
net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=c(input$w, input$b), threshold=0.01)
print(net.sqrt)
plot(net.sqrt)
testdata <- as.data.frame((1:13)^2) #Generate some squared numbers
net.results <- predict(net.sqrt, testdata) #Run them through the neural network
class(net.results)
print(net.results)
cleanoutput <- cbind(testdata,sqrt(testdata),
as.data.frame(net.results))
colnames(cleanoutput) <- c("Input","ExpectedOutput","NeuralNetOutput")
head(cleanoutput)
lm1<- lm(NeuralNetOutput~ ExpectedOutput, data = cleanoutput)
ggplot(data = cleanoutput, aes(x= ExpectedOutput, y= NeuralNetOutput)) + geom_point() +
geom_abline(intercept = 0, slope = 1
, color="brown", size=0.5)})}
shinyApp(ui,server)
我希望添加一个真正有效的actionButton,以便我可以更新我的视图而不是让它自动更新。我应该在我的 server.R 里面放什么?
还有没有更好的方法来展示我的脚本?由于我对shiny 很陌生,我希望我能从你们中的任何人那里得到一些小指南/提示..
你们需要R.data 吗?如果需要,我可以通过电子邮件发送给你们。非常感谢。
【问题讨论】:
-
嗨,你能举个例子reproducible吗?这意味着您必须使用每个人都拥有的一些数据,例如
mtcars或iris。关于您的问题,您可能正在寻找observeEvent -
@bretauv 嗨,你能给我你的电子邮件吗?这样我就可以将 R.data 发送给您,以便更准确哈哈
-
不,您必须提供一个功能示例。如果有人试图在一年内了解你的问题,会发生什么?您不一定想要或能够发送您的 .RData 文件。这个问题已经有了答案,但是对于下一个问题,请包括一个可重复的示例
标签: r user-interface ggplot2 shiny action-button