Пришел ли кто-нибудь и сумел решить проблему с выборкой из обычного дистрибутива в Shiny R, пожалуйста? Я изо всех сил пытаюсь найти решение: этот вопрос задавали раньше, но ответа не было найдено.Предупреждение в rnorm и блестящий: произведены НС
Отбор проб с использованием rnorm
дает результат, состоящий полностью из НС в Блестящем; нет таких проблем за пределами приложения Shiny.
library(shiny)
ui<-shinyUI(fluidPage(
sidebarPanel(
sliderInput("Rmax", label="growth", min=0,max=2, value=1),
sliderInput("sd_Rmax", label = "sd for rmax", min=0.05, max=1, value = 0.35),
sliderInput("K", label="K", min=2, max=70, value = 10.1),
sliderInput("sd_K", label="sd for K", min=2,max=70, value=1.48),
sliderInput("ss", label="Sample Size", min=30,max=300, value=30)
),
mainPanel(
verbatimTextOutput("Statistics"))
))
server<-shinyServer(function(input, output){
data<-reactive({
#here are my inputs; convert inputs to log-scale:
ln_rmax<-log(input$Rmax, base=exp(1))
ln_K<-log(input$K, base=exp(1))
ln_sd_rmax<-log(input$sd_Rmax, base=exp(1))
ln_sd_K<-log(input$sd_K, base=exp(1))
#sample from normal
s_ln_rmax<-rnorm(input$ss*19,mean=ln_rmax,sd=ln_sd_rmax) # Here's where the problem is
s_ln_K<-rnorm(input$ss*19,mean=ln_K,sd=ln_sd_K)
phi<-seq(0,0.9, by=0.05)
phi_s<-rep(phi, input$ss)
#convert back
s_rmax<-exp(s_ln_rmax)
s_K<-exp(s_ln_K)
D<-runif(19*input$ss,min=0.2*s_K, max=0.8*s_K)
#combine into a dataframe
combs<-as.data.frame(cbind(s_rmax,s_K, phi_s, D))
})
output$Statistics <- renderPrint({ summary(data())})
})
shinyApp(server = server, ui = ui)
Это предупреждающее сообщение я получаю: Warning in rnorm(input$ss * 19, mean = ln_rmax, sd = ln_sd_rmax) : NAs produced
. Как ни странно, проблема заключается в первой выборке переменной s_rmax
, а не во второй выборке переменной s_K
.
Мне нужно использовать первую переменную далее в моем коде.
Благодарим за любую помощь заранее.
Спасибо - теперь это имеет смысл. К сожалению, ваше обходное решение не будет работать для моих целей; Я буду обрезать свои входы вместо использования журналов. Вздох. Еще раз спасибо. – user2196886