2014-11-09 4 views
1

저는 이것이 아주 기본적인 것이라고 확신하지만, stackoverflow에 대한 답을 찾을 수 없었습니다.인수를 부분 문자열로 변환합니다.

내가 원하는 기본적으로

f1 <- function(x) { 
setwd("~/Rdir/x") 
col1 <- f2(...) 
col2 <- f3(...) 
genelist <- data.frame(co1,col2) 
write.csv(genelist, file="x.csv") 
} 

무엇을 내가 함께 일하고 있어요의 기본은 예를 에 대한 어떤 I 입력에 의해 대체 될 X입니다 f1(test) 디렉토리에 test.csv라는 파일을 절약 할 수 Rdir/test.

내가 작업하고있는 코드 샘플을 더 게시 할 예정이지만 매우 길다.

답변

3

당신은 ?paste를 사용할 수 있습니다

setwd(paste("~/Rdir/", x, sep="")); 

write.csv(genelist, file=paste(x, ".csv", sep="")) 

당신의 예에. 그러나, 그것은 나를 더 간단한 작업 디렉토리를 변경하지 않을 수도 있지만, 대신 지정하는 전체 경로를 저장할 때 :

write.csv(genelist, file=paste("~/Rdir/", x, "/", x, ".csv", sep="")) 

을하지만, 디렉토리가 존재하지 않는 경우이 충돌된다는 점에 유의. 디렉터리가없는 경우를 대비하여 ?dir.create을 먼저 볼 수 있습니다.

+0

감사합니다 이것에 대한 매우 간단하면서도 매우 효과적인. –

2

당신은 file.pathpaste0와 파일 이름과 경로를 만들 수 있습니다

x <- "test" 
file.path("~/Rdir", x, paste0(x, ".csv")) 
# "~/Rdir/test/test.csv" 
관련 문제