2014-10-05 4 views
0

함수의 이름이 터키어 인 R 패키지를 작성했습니다. 내부화를 통해 해당 패키지를 CRAN으로 가져 가고 싶습니다. 모든 터키어 이름 (함수, 데이터 세트)을 모두 영어로 변경하여 누구나 쉽게 패키지를 사용할 수있게했습니다. 그 후, 나는 규칙적인 "라이브러리 (roxygen2), 라이브러리 (devtools), 라이브러리 (digest), roxygenize ("causfinder "), 빌드 ("causfinder "), 설치 ("causfinder ") 라이브러리 방법.데이터 파일 정보를 인덱스로 가져 오는 방법과 기존 R 패키지의 데이터 파일을 올바르게 업데이트하는 방법은 무엇입니까?

결국 이번에는 Revolution R의 Object Browser (버전 7.1.0 Academic License)에 모든 기능이 영문 이름으로 나타납니다. 따라서 함수의 이름을 변환 할 때 모두 괜찮습니다.

문제 :

하지만, 흥미롭게도, 모든 패키지에 데이터 파일의 이름을 영어로 변환되지 않습니다.

지금까지 문제를 해결하기 위해 무슨 짓을 : 나는 트릭의 모든 종류의 시도

내가 아는을 : 나는 (I는 1 개 등의 위치를 ​​라이브러리 위치에서 패키지를 삭제

1

: "C : \ Revolution \ R-Enterprise-7.1 \ R-3.0.2 \ library") 패키지를 완전히 다시 빌드하고 다시 설치하십시오.

2 내가 디렉토리 작업에서 패키지를 삭제 "C를 : \ 사용자 혁명 \ 에르 \ 문서 \"및 트리거 "라이브러리 (roxygen2) 라이브러리 (DevTools로) 라이브러리 (소화)를, roxygenize를 ("causfinder " \ 사용자 혁명 \ 에르 \ 문서 : \) 구축 ("causfinder"); ("causfinder")를 설치 라이브러리 (causfinder) C는 "효과를 버퍼에 대한 가능성을 제공함으로써 공정

3., 나는 삭제" \ 32_7.1 "이므로 해당 폴더의"PackageXMLs \ causfinder.xml "이 부적절하게 간섭하지 않습니다. 소스를 업데이트하고 재 설치 " Update the dataset in an installed package

: 나는 여기에"더크 Eddelbuettel "제안 트릭을 적용 R은 레보 R.

4.를 다시 시작하여"32_7.1 "폴더를 생성했다 새 고유 버전 번호 ": 작동하지 않습니다. "강제로 덮어 씀으로써 가능합니다. 적절한 방법이 아닙니다.": 그 힘을 적용하는 방법?

아마도 문제를 해결하기 위해 전문가들에게 아이디어를 제공 할 수 있습니다 내 결과 :

만 제대로 이름이 변경되었다 데이터 파일 중 하나를, 그리고 개체 브라우저에서 해당 데이터 파일의 끝 부분을 "[패키지 causfinder 버전 1.0 색인] "이 나타납니다. 다른 모든 데이터 파일의 이름은 여전히 ​​터키어로되어 있으며 해당 데이터 파일의 끝 부분에 "[패키지 인과 관계 버전 1.0 색인]"문구가 표시되지 않습니다! 내화가 올바르게 수행 된 데이터 파일에 특이한 것을하지 않았습니다.

도움이 될 것입니다.단계 솔루션에 의해

+0

다음과 같이 씁니다. "패키지의 데이터 파일 이름이 모두 영어로 변환되지 않았습니다." 아직 번역되지 않은 터키 용어가 있음을 의미합니까? – agstudy

+0

R의 작업 디렉토리의 "데이터"폴더에있는 데이터 세트 파일과 데이터 셋 문서 파일의 모든 이름과 모든 데이터 세트 파일을 번역했습니다. R 작업 디렉토리의 "man"폴더에있는 .Rd 파일에 함수 파일 " R "작업 디렉토리의"R "폴더에 있습니다. 그러나 "build, install"은 여전히 ​​데이터 집합 파일의 일부 이름에 대해 터키어 이름을 사용합니다. 그것들은 Object Browser에서도 영어로 나타나야합니다. –

답변

0

단계 : (32 비트 윈도우와 노트북, GUI : 혁명 R 엔터프라이즈 (32 비트))

1가 관련 폴더를 청소하여 환경을 준비합니다 :
1a. Windows 탐색기를 통해 R의 라이브러리 위치에있는 패키지 폴더를 삭제하십시오.
("C : \ Revolution \ R-Enterprise-7.1 \ R-3.0.2 \ library \ causfinder"폴더를 삭제 한 위치는 1 개뿐입니다)
(".libPaths()"를 실행하여 R의 라이브러리 위치를 확인하고 모든 R의 라이브러리 위치에서 패키지의 폴더를 삭제하십시오)

1b. Windows 탐색기를 통해 R의 작업 디렉토리에서 패키지 폴더를 삭제하십시오.
("C : \ Users \ erdogan \ Documents \ Revolution \ causfinder"폴더를 삭제했습니다.) "
("getwd() " R의 작업 디렉토리를보고 모든 R의 작업 디렉토리에서 패키지의 폴더를 삭제)

1c. Windows 탐색기를 통해 R의 작업 디렉토리에서 "32_7.1"또는 "64_7.1"폴더 (32 비트, 64 비트 R)를 삭제하십시오.
이 폴더에서 토론중인 패키지의 .xml 파일은 때때로 R 명령의 결과에 영향을 미치고 예상치 못한 결과를 초래합니다.
"PackageXMLs \ causfinder.xml"이있는 "C : \ Users \ erdogan \ Documents \ Revolution \ 32_7.1"폴더를 삭제하십시오.
(Revolution R이 다시 시작될 때 존재하지 않으면 32_7.1 (또는 64_7.1) 폴더가 자동으로 생성됩니다.)

이제 Revolution R을 다시 시작하십시오.

2. R을 통해 .rda 및 .Rd 파일을 만들고 관련 위치에 두십시오.
은 ((영어 사람의 경우,이 같은 .rda 및 .Rd 파일을 생성 :

V6Stationary43Obs.df <-  
read.csv("C:/Users/erdogan/Documents/Revolution/V6Stationary43ObsWithoutX.csv", header = TRUE, stringsAsFactors = FALSE) 
# create V6Stationary43Obs.df.rda dataset file; df to denote data frame 
save(V6Stationary43Obs.df, file="V6Stationary43Obs.df.rda")   
prompt(V6Stationary43Obs.df) # creates V6Stationary43Obs.df.Rd help file)) 

((터키어 사람을 위해, 나는 한 번

D6Duragan43Gozlem.dvc<- read.csv("C:/Users/erdogan/Documents/Revolution/D6Duragan43GozlemXsiz.csv", header = TRUE, stringsAsFactors = FALSE) 
# create D6Duragan43Gozlem.vc.rda dataset file; df to denote data frame 
save(D6Duragan43Gozlem.vc, file="D6Duragan43Gozlem.vc.rda") 
prompt(D6Duragan43Gozlem.vc) # create D6Duragan43Gozlem.vc.Rd help file)) 

에 한 번 다음을 수행 3. Windows 탐색기를 통해 R 작업 디렉토리의 .rda 및 .Rd 파일 (Step2에서 작성)을 "data"및 "man"폴더로 가져옵니다.
V6Stationary43Obs.df.rda 데이터 세트 파일 -> C : \ Users \ erdogan \ Documents \ Revolution \ causfinder \ data,V6Stationary43Obs.df.Rd 도움말 파일 -> C : \ 사용자

4. 채우기 적어도 .Rd 파일의 "제목"과 "설명"태그 (혁명 \ causfinder의 \ 남자 \ 에르 \ 문서 \ R을 통해 3 단계)에서 만든 : "파일 - 열기 - 파일 ... - V6Stationary43Obs.df.Rd"

\title{ 
V6Stationary43Obs is..... . 
} 
\description{ 
V6Stationary43Obs does..... . 
} 

5.

library(roxygen2) 
library(devtools) 
library(digest) 
roxygenize("causfinder") 
build("causfinder") 
install("causfinder") 
library(causfinder) 

솔루션 : roxygenization 적용 (64 비트 Windows에서 노트북을, GUI : 혁명 R 엔터프라이즈 (32 비트))

위의 과정은 다음과 같이 수행 추가 작업 :

데이터 세트는 일반적으로 (예 : 데이터 프레임을 나타내는 ".df") 생성됩니다.

X.df <- read.csv("C:/Users/erdogan/Documents/Revolution/X.csv", header = TRUE, stringsAsFactors = FALSE) 
save(X.df, file="X.df.rda") # X.df.rda dataset is created 
prompt(X.df) #X.df.Rd help file is created. 

2 혁명 R은 폐쇄되고, 작업 디렉토리에 폴더는 "32_7.3"삭제됩니다. 이 폴더는 다음과 같은 이유로 삭제됩니다. 우리 패키지 (여기 : causfinder)의 정보 (함수, 데이터 세트 등)는 32_7.3에 .xml 파일로 저장됩니다. 그러나 데이터 집합을 하나씩 추가하면이 .xml 파일을 업데이트 할 수 없습니다.

혁명 R이 열립니다 ("32_7.3"폴더가 다시 생성 됨). 이 시점에서 위의 5 단계 (가압 반응 적용)가 수행됩니다. 이렇게하면 Revolution R의 Object Browser에 데이터 세트가 표시됩니다.

4. 모든 것이 완벽하게 제어됩니다. 패키지 라이브러리 위치의 "data"폴더로 이동하십시오. 여기서는 ".rdb, .rds, .rdx"파일 만보아야합니다.

솔루션 : (64 비트 윈도우와 노트북, GUI : 혁명 R 엔터프라이즈 (64 비트))

32 비트의 단계를 적용합니다. 모든 것이 정상이면 괜찮아요. 끝났습니다. 알 수없는 경우 (예 : Revo R의 Object Browser에 데이터 세트가 표시되지 않고 라이브러리 위치의 패키지 데이터 폴더에 .rdb, .rds, .rdx 파일 만 포함되지 않은 경우)

당신은 여전히 ​​패키지의 라이브러리 위치에 .rda 파일로 볼 수 있습니다 사용자가 만든 데이터 세트로 작업 할 수 있습니다 : 사용 "데이터"명령을 : 데이터를보다 명령에 대한

data(YourDatasetName, package = causfinder, lib.loc = YourLibraryLocation) 

가 알아보세요. 이 명령을 사용하면 개체 브라우저에서 전역 환경의 개체로 데이터 집합을 가져올 수 있습니다.