예제를 로컬로 실행하려면 R에 shiny 패키지를 설치하고 runGitHub() 함수를 사용할 수 있습니다. 예를 들어 001-hello 예제를 실행하려면 이 첫 번째 예제에서는 151개의 열이 있는 데이터 프레임으로 작업합니다. 열 중 하나에는 ID가 있고 다른 150개 열에는 숫자 값이 포함됩니다. 각 숫자 열에 대해 평균을 받아 열에서 빼서 열의 새 평균 값이 0이 되도록 합니다. 코드를 더 최적화할 수 있습니까? 모든 시간이 C (평균 및 -)로 구현되는 함수에 소요된다는 점을 감안할 때 가능성은 낮아 보입니다. 그렇다고 해서 반드시 개선의 여지가 없다는 의미는 아니지만 다음 예제로 넘어갈 수 있는 좋은 장소입니다. R 코드 외에도 Shiny 응용 프로그램을 프로파일로 만들 수도 있습니다. 이렇게하려면 profvis 내부에서 runApp() 명령을 실행하기만 하면 됩니다. 예를 들어 runExample 명령(runApp용 래퍼)을 사용하여 shiny의 기본 제공 예제 중 하나를 실행할 수 있습니다.

R 콘솔에 내장 된 이외에도, RStudio는 가장 인기있는 R 코드 편집기이며, 윈도우, 맥 OS, 리눅스 플랫폼에 대한 R과 인터페이스. 이것은 빛나는 예제의 모음입니다. 예를 들어 http://gallery.shinyapps.io/001-hello rstudio/shiny-example에서 새 릴리스에 대한 알림을 받을 수 http://gallery.shinyapps.io/001-hello 예의 디렉터리 이름이 여기에 있는 http://gallery.shinyapps.io/example-name 에서 이러한 작업을 볼 수 있습니다. 다음은 사용 중인 profvis의 몇 가지 예입니다. R의 샘플링 프로파일러는 결정적이지 않으며 이 니터 문서가 실행될 때 이러한 예제의 코드가 실행되고 프로파일화되므로 숫자 타이밍 값이 텍스트와 정확히 일치하지 않을 수 있습니다. # 변수 mydata$합계 <- mydata$x1 + mydata$x2 mydata$를 의미하는 변수로 평균을 계산하는 예는 <- (mydata$x1 + mydata$x2)/2 R에서 그래프는 일반적으로 대화식으로 만들어집니다. 다음은 예제입니다. 이러한 기능은 최종 릴리스에서 끝날 수도 또는 그렇지 않을 수도 있으며 피드백에 따라 변경될 수도 있습니다.

이 예제는 몇 가지 고급 문제를 해결합니다. 이번에는 느려지는 원인을 직접 확인하기는 어렵지만, 특히 많은 양의 메모리 할당으로 인한 부작용과 같은 부작용을 볼 수 있습니다. Shiny 응용 프로그램의 프로필은 Shiny이 뒤에서 실행되는 기능을 자동으로 숨깁니다. 자세한 내용은 FAQ에서 확인할 수 있습니다. 프로파일은 출력을 파란색으로 자동으로 채색합니다. 이 예제에서는 플롯을 다시 만들기 위해 output$플롯이 호출될 때마다 식별할 수 있습니다. Shiny 응용 프로그램을 프로파일링하는 것은 사후 대응 종속성을 이해하는 데 특히 유용합니다. 자세한 내용은 이 비디오를 체크아웃하십시오.

csum2가 있는 이 코드 버전은 원래 코드보다 약 60배 빠르며 메모리 할당이 거의 필요하지 않습니다. 이러한 성능 향상은 $ 및 $<-에 대한 호출을 피하고 불필요한 메모리 할당을 피하고 루프에서 벡터를 늘리는 것을 방지함으로써 가능했습니다. $는 일반 함수이기 때문에 이 경우 $.data.frame에서 개체에 해당하는 메서드를 호출합니다. 이 함수는 차례로 [[[data.frame]을 호출합니다. (확대하여 더 명확하게 볼 수 있습니다.) 아무 일도 일어나지 않으면 GitHub 데스크톱을 다운로드하고 다시 시도하십시오. 거의 모든 시간은 코드 의 한 줄에 소요됩니다, 줄 6. 이 코드는 한 줄에 불과하지만 해당 줄에서 호출되는 여러 가지 함수가 있습니다. # 데이터 프레임 mydata의 변수에 대한 수단을 얻을 누락 된 값을 제외한 #sapply (mydata, 평균, na.rm = TRUE) 이 프로파일링 데이터는 많은 시간이 $ 및 $<-에 소요된다는 것을 알려줍니다. 어쩌면 이러한 기능을 완전히 피하면 속도가 빨라질 수 있습니다. 이를 위해 데이터 프레임 열에서 작동하는 대신 임시 벡터에서 작동할 수 있습니다. 알고 보니 벡터를 입력으로 받아 출력으로 벡터를 반환하는 함수를 작성하는 것은 편리할 뿐만 아니라 편리합니다.

루프에서 $ 및 $<- 호출을 피할 수 있도록 임시 변수를 만드는 자연스러운 방법을 제공합니다.

r 스튜디오 예제