错误:参数

时间:2016-10-21 00:58:01

标签: shiny shiny-server

我试图创建一个密度直方图,我有错误:参数' x'必须是数字。我尝试使用(as.numeric(输入$ d))而不是d,但得到了相同的错误。有谁知道如何解决这个问题?

server.R

  
output$hist <- renderPlot({

  input$action

  if(is.null(input$action))
    return(NULL)

  else

    isolate({

      trees3 <- FindTreesCHM(chm(), (as.numeric(input$fws)), (as.numeric(input$minht)))
      d <- density(trees3["height"])
      plot(d, xlab = "Height", ylab = "Density", main = "")
      polygon((as.numeric(input$d)), col = "darkseagreen")

    })
  })

非常感谢你! :)

1 个答案:

答案 0 :(得分:0)

我认为问题出在d <- density(trees3["height"])density函数的第一个参数是x,它应该是数字。您使用[]代替[[]][]返回元素列表,[[]]返回列表中的单个元素。所以只需尝试更改

d <- density(trees3["height"])

d <- density(trees3[["height"]])

此外,我认为您的代码中不需要else。但是,如果您需要使用if...else语句,请确保:

  

重要的是要注意 else 必须与if语句的结束括号位于同一行。 http://www.programiz.com/r-programming/if-else-statement