2016-10-21 4 views
0

밀도의 히스토그램을 만들려고하는데 오류가 발생합니다. 'x'인수는 숫자 여야합니다. 나는 (as.numeric (input $ d)) 대신 d를 사용하려고 시도했지만 같은 오류가 발생했습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?Error : argument

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") 

    }) 
    }) 

당신에게 많이 감사합니다! :)

답변

0

나는 문제가 d <- density(trees3["height"])에 있다고 생각한다. density 함수의 첫 번째 인수는 x이며 숫자 여야합니다. [[]] 대신 []을 사용하고 있습니다. []은 요소 목록을 반환하고 [[]]은 단일 요소를 목록에 반환합니다. 그러니 그냥

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

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

을 변경해보십시오.

또한 코드에 else이 필요하다고 생각하지 않습니다. 하지만 if...else 문을 사용해야하는 경우 다음을 확인하십시오.

It is important to note that else must be in the same line as the closing braces of the if statements. http://www.programiz.com/r-programming/if-else-statement

+0

안녕 Geovany! 나는 완전히 당신의 요점을보고 그것은 잘 사람을 일했다! 도와 주셔서 정말 고맙습니다. 그러나 의심의 여지가 있습니다. [[]]를 사용하는 모자가 목록의 단일 요소를 반환한다고 말하면 열의 값 하나를 의미합니까? 왜냐하면 전 줄거리를 잡아서 음모를 꾸미고 싶습니다. 내 혼란에 빠져서 미안해. 고마워요! –

+0

도움이된다는 것을 알면 다행입니다. 목록의 단일 요소이므로 하나의 값, 벡터 또는 목록에 저장된 다른 구조가 될 수 있습니다. 이 경우 전체 열이됩니다. '[[heigh "]] [n]' – Geovany

+0

오, 알아 냈습니다. Geovany! 도와 주셔서 감사합니다. :) –