Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 当使用图层平滑仅选择一个观察时,如何防止光泽崩溃?_R_Shiny_Ggvis - Fatal编程技术网

R 当使用图层平滑仅选择一个观察时,如何防止光泽崩溃?

R 当使用图层平滑仅选择一个观察时,如何防止光泽崩溃?,r,shiny,ggvis,R,Shiny,Ggvis,我构建了一个闪亮的应用程序,它可以生成一个带有ggvis的交互式绘图。我添加了sliderInput功能,可以过滤我的数据,并相应地更改绘图。我还向ggvis添加了layer\u smooth调用,并且趋势线会随着用户更改滑块输入和过滤数据而动态调整 不幸的是,当数据被过滤后,只剩下一个观察值时,就不可能创建趋势线和闪亮的崩溃。我有没有办法增加layer\u smooth调用,以便在数据集中只有一个观测值时(过滤后),忽略对layer\u smooth的调用?如果我删除对图层平滑的调用,当只有一

我构建了一个闪亮的应用程序,它可以生成一个带有
ggvis
的交互式绘图。我添加了
sliderInput
功能,可以过滤我的数据,并相应地更改绘图。我还向
ggvis
添加了
layer\u smooth
调用,并且趋势线会随着用户更改
滑块输入和过滤数据而动态调整

不幸的是,当数据被过滤后,只剩下一个观察值时,就不可能创建趋势线和闪亮的崩溃。我有没有办法增加
layer\u smooth
调用,以便在数据集中只有一个观测值时(过滤后),忽略对
layer\u smooth
的调用?如果我删除对
图层平滑的调用,当只有一个观测值存在时,Shiny不会崩溃,但我非常希望保留趋势线功能

我重新创建了一些示例代码来说明这个问题。启动应用程序后,如果过滤仪表板上的
mpg
滑块,直到只剩下一个观察值,应用程序将崩溃

library(shiny)
library(ggvis)
library(dplyr)
data(mtcars)

server <- function(input, output) {

    example <- reactive({
            # set initial values
            minmpg <- input$m[1]
            maxmpg <- input$m[2]

            # apply filters
            mpg_example <- mtcars %>%
                    filter(
                            mpg >= minmpg,
                            mpg <= maxmpg)
            mpg_example <- as.data.frame(mpg_example)})

    vis <- reactive({
            example %>%
                    ggvis(x = ~mpg, y = ~disp) %>%
                    layer_points(size := 50) %>% 
                    layer_smooths(span = 1.5)
    })

    vis %>% bind_shiny("distPlot")
}

ui <- fluidPage(
    sidebarLayout(
            sidebarPanel(
                    sliderInput("m", "mpg", 10, 
                                33, value = c(10, 33), step = 1)),
            mainPanel(ggvisOutput("distPlot"))
    )
)

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(ggvis)
图书馆(dplyr)
数据(mtcars)

服务器提示:(1)使用
example()
vice
example
,dplyr很乐意推断您的意图;(2) 尝试使用
过滤器(介于(mpg、minmpg、maxmpg)之间)
。。。没有帮助错误,只是更简洁易读;(3) 请包括您看到的实际错误,这可能有助于“钩住”某人帮助解决问题。感谢提示和编辑,非常感谢!
Warning: Error in predLoess: NA/NaN/Inf in foreign function call (arg 5)
Stack trace (innermost first):
    114: predLoess
    113: predict.loess
    112: stats::predict
    111: pred_grid.loess
    110: pred_grid
    109: compute_model_prediction.data.frame
    108: compute_model_prediction
Warning: Error in predLoess: NA/NaN/Inf in foreign function call (arg 5)
Stack trace (innermost first):
    62: <Anonymous>
    61: stop
    60: r_spec
    59: observerFunc