4

저는 로컬 (호스트되지 않음)이 될 javascript/html을 사용하여 사용자에게 유기체의 일부 이름과 폴더 위치를 묻는 내 R 스크립트에 UI를 작성하고 있습니다.R & Javascript 콜백

나는 지금 막 입력해야하고 실행 가능한 R 스크립트를 전달하는 두 개의 텍스트 상자가 있습니다. 원래이 UI는 매우 사용자 친화적 인 옵션으로 작성되었지만 천천히 나는 사용자의 단어를 완성하는 텍스트 상자와 같은 멋진 트릭을 추가 할 수 있음을 깨달았습니다 (사용자가 유기체의 이름을 잘못 입력하면 UI는 업로드 된 파일을 기반으로 입력을 수정합니다. 그리고 파일이 추가되면 즉시 생성하는 생물 텍스트 파일 목록에서 가져옵니다.

더 효율적으로 만들 수있는 방법이 있습니까? 예를 들어, R (.png)에서 플롯을 검색하고 내 로컬 웹 페이지를 업데이트하고 R과 UI간에 로그 파일을 공유 할 수 있습니다 (마음에 들지만 잠재적 인 파일 I/O 오류가 있음). 그러나 브레인 스토밍 술.

샤이니에 대해 알고 있지만 간단한 데이터 (평균 1 기가 바이트 상당의 파일을 처리 할 예정)로 로컬 UI를 사용하고 싶습니다.

점에 더 나의 질문을하는 또 다른 방법 : http://www.r-bloggers.com/integrating-php-and-r/ 가 나는 등 자바 스크립트와 비슷한/CSS/HTML/JQuery와

을 만들 찾고 있어요 : 여기

는 PHP와 R 통합의 예

감사합니다.

답변

1

왜 Shiny를 로컬에서 사용할 수 없습니까? 컴퓨터에서 응용 프로그램을 디자인하고 R 프롬프트에서 runApp ('myapp')을 사용하여 로컬로 실행합니다. 당신이 자바 스크립트에 익숙하지 않다면 나는 반짝이는 다른 모습을 보일 것이다 : http://www.rstudio.com/shiny/

당신이 링크 한 예제는 Shiny를 사용하여 매우 쉽게 구현 될 수있다. 응용 프로그램을 작성하는 방법에 대한 자습서는 아래 링크를 참조하십시오 :

http://rstudio.github.com/shiny/tutorial/#hello-shiny

로컬이 예제를 실행하려면 :

install.packages ('반짝')

반짝 :: runExample (' 01_hello ')

1

확실히 nodejs (nodejs.org)를 사용할 수 있습니다. https://github.com/elijah/r-noder-node을 살펴보십시오. 혼란스럽게도, 이것은 같은 이름을 가진 두 개의 서로 다른 프로젝트입니다. 후자에 대한 자세한 정보는 여기를 참조하십시오 : squirelove.net/r-node/doku.php

최근 자바 스크립트는 가장 빠른 프로그래밍 언어 중 하나가되었습니다. 내가 아는 한 가지 경우, JavaScript는 C++보다 빠릅니다. 참조 : benchmarksgame.alioth.debian.org/u32/performance.php?test=regexdna

메모리는 자바 스크립트에서 관리하기가 매우 어렵 기 때문에 메모리 누출 감지 프로그램을 실행해야합니다 코드에서 장기 실행 프로세스를 작성하려는 경우 E.I : memwatch (npmjs.org/package/memwatch) 또는 nodeheap (npmjs.org/package/memwatch)

행운을 빕니다!

추신. 진짜 링크가 없어서 미안해. 나는 분명히 2 개 이상의 링크를 게시 할 수 없다.

1

나는 비슷한 경우를 가지고 있으며 반짝 반짝 빛나는 것이 나에게 좋은 생각이었습니다. 그러나 몇 가지 첫 번째 단계를 수행 한 후에는 더 이상 확신 할 수 없습니다. 대부분의 예제는 반짝이는 디스플레이에 결과를 사용합니다. 일부 필드를 편집하고 데이터베이스를 사용할 때 문제가 발생할 수 있습니다. 프로그램과 사용자가 필드를 변경할 수있게되면 반응성이 높아집니다.

예를 들어 https://gist.github.com/dmenne/4721235/edit을 참조하십시오. 현재의 반짝이는 주된 문제는 서버에 ui 요소를 만들어야하기 때문에 ui와 서버가 분리되는 이러한 유형의 작업에 동적 UI를 사용해야한다는 것입니다.

광택이 좋은 아이디어이지만, 상호 작용이 더 커진 경우에는 너무 빠릅니다. 놀라운 RStudio 팀이 뒤에 있다는 것을 알고, 나는 스트레스가 에 있어야한다고 확신합니다.

R에 대한 사용자 인터페이스를 만드는 데 또 무엇이 있습니까? TclTk 나를 쓰다듬어. 나는 C#을 많이 사용하고 있으며 몇 년 전에 R (D) COM을 사용하여 인터페이스를 사용했지만 설치 및 라이센스 문제를 포기했습니다. 더 잘 작동하는 R.DOTNet이 있습니다. 가장 많은 설치가 필요없는 설치 방법이지만 매우 적극적인 프로젝트는 아니며 충돌하는 경향이 있습니다. RServe/RServeCLI를 통한 인터페이스는 안정적이지만 엄격한 보안 문제가있는 병원 컴퓨터와 같이 Windows에 설치하는 것은 너무 어렵습니다.

그리고 Qt가 있습니다. 액티브 RInside 커뮤니티에서는 좋은 선택이 될 것이며 인터페이스가 훌륭합니다. 그러나 제 프로그래밍 기술은 RStudio-guys 수준 이었으면합니다. 더크 (Dirk)조차 하나의 개념 증명 수준 (using rinside with qt in windows)이라는 사실은 고무적이지 않습니다.