2016-12-30 2 views
7

특정 폴더의 html 파일에 저장하려는지도 전단지가 있습니다. 내가 윈도우 7을R의 htmlwidget에서 savewidget을 실행하면 다른 폴더에 html 파일을 저장할 수 없습니다.

사용하고 난 다음 시도 : 나는 하나가

이의 Rstudio 세션에 따라, 오류 메시지로

library(htmlwidgets) 
saveWidget(map_leaflet, file="ressources/test.html") 

library(htmlwidgets) 
saveWidget(map_leaflet, file="ressources\\test.html") 

library(htmlwidgets) 
path_name <- file.path("ressources", "test.html", fsep="\\") 
saveWidget(map_leaflet, file=path_name) 

library(htmlwidgets) 
path_name <- paste("ressources", "test.html", sep="/") 
saveWidget(map_leaflet, file=path_name) 

1) setwd 오류 (DIR) :

2) 경로를 찾을 수 없습니다 디렉토리에게 작업을 변경할 수 없습니다

난 단지 이런 식으로 저장하면 :

library(htmlwidgets) 
saveWidget(map_leaflet, file="test.html") 

완벽하게 작동합니다.

도움을 주셔서 감사합니다.

+0

코드가 실행되는 위치에서'ressources' 디렉토리가 존재하지 않는 것처럼 들립니다. 이 코드를 실행하기 전에 R에서'getwd()'를 검사하여 올바른 디렉토리에서 실행하고 있는지 확인해 보았습니까? dir()? 그 위치에'ressources'가 있는지 확인 하시겠습니까? 두 가지 모두 올바른 것으로 보이면 저장을 시도하기 전에'setwd ("ressources")'를 사용하여 해당 디렉토리로 변경하는 것이 좋지 않은 해결책이 될 수 있습니다. – user5359531

+2

안녕하세요, 그래서 getwd() 및 dir() 시도하고 ressources 올바르게 나타납니다. 나는이'path <- file.path (getwd(), "ressources", "test.html")''saveWidget (map_leaflet, file = path)'를 시도하고 이번에는 완벽하게 작동한다. 나는 그것이 단지 완전한 길을 필요로했다고 생각한다. 질문을 답변으로 표시 할 수 있도록 답변으로 의견을 제시 할 수 있습니까? 감사합니다. – tuttifolies

+0

팁은 문제 해결에 불과했습니다. 자신이 생각하는 곳에서 코드를 실행하지 않는 것처럼 들립니다. 하지만 전체 경로를 사용하고'file.path()'를 사용하면 경로를 안전하게 전달할 수 있습니다. 'normalizePath()'함수를 살펴볼 수도 있습니다. 그것은 당신이 절대 경로를 얻는 것을 도울 수 있고 경로가 존재하지 않거나 올바르지 않은 경우에도 알려줄 수 있습니다. 이것을 시도하면'normalizePath (".")','normalizePath ("~")','normalizePath ("./foo")'<-'foo'가 존재하지 않으면 에러가 발생합니다. 또한 단순히'file ='에 상대 경로를 사용할 수 없다. – user5359531

답변

6

동의.

f<-"ressources\\test.html" 
saveWidget(map_leaflet,file.path(normalizePath(dirname(f)),basename(f))) 

이슈가 saveWidget 상대 경로 이름과 함께 작동하지 않고 normalizePath 아직 존재 할 파일 경로가 작동하지 않는 것으로 나타납니다 : 여기

는 해결 방법입니다.

나는 이것을 saveWidget에서 버그라고 부른다.