>source

10개의 목록이 포함된 "data"라는 변수가 있는데 각 목록을 다른 파일(다른 이름)에 저장하고 싶습니다. 개별 파일을 저장하는 방법은 알고 있지만 루프를 통해 수행하는 code를 작성하는 방법은 모릅니다. 가장 큰 문제는 파일 이름입니다.

다음과 같은 이름의 파일이 있는 폴더를 원합니다: percent0.01.bed, percent0.02.bed...)

다음과 같이 시도하고 있습니다.

percentages<-seq(0.01,0.1,0.01)
>percentages
 [1] 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
sapply(seq(length(data),function(x) write.table(data[x], sep= "    ", col.names=F, "/home//Desktop/percentage"+toString(cv[x]))

하지만 작동하지 않습니다 ...

귀하의 예를 재현 가능하게 만드십시오. 귀하의 문제가 경로에 있다고 생각합니다. 문자열 연결은 R에서 작동하지 않습니다. paste 또는 sprintf를 사용할 수 있습니다.

Heroka2022-02-12 08:33:48

length(data) 뒤에 몇 가지 문제(예: missing )가 있습니다. 데이터 <-replicate(2, data.frame(x=runif(5), y=runif(5)), 단순화= FALSE)를 시도하십시오. 백분율<-1:길이(데이터); sapply(seq(길이(데이터)), 함수(x) write.table(데이터[[x]], sep= " ", col.names=F, 파일=paste0("백분율", 백분율[x], " .침대")) ).

lukeA2022-02-12 08:33:48
  • 답변 # 1

    내 생각에 당신은~을위한여기 루프. 노력하다:

    mypath <-"/home//Desktop/percentage/"
    for (i in seq_along(percentages)) {
      write.table(percentages[i],
        file= paste0(mypath, paste("percentage", i, "bed", sep= ".")))
    }
    

    여기에서 원하는 경로를 지정하는 부분을 디버깅할 수 없습니다. 내 컴퓨터에서 버전을 시도했고 제대로 작동했습니다. 그러나 마지막을 포함해야 합니다./.

  • 답변 # 2

    텍스트가 포함된 데이터 프레임에서 다른 이름으로 여러 파일을 저장합니다.

    for(i in 1:nrow(df)){
    myfile<-paste0("file", "_", i, ".txt")
    write.table(df[i,1],myfile,sep="\t",row.names=FALSE)
    }
    

  • 이전 c++ : 나는 leetcode 문제 151에 갇혔습니다. 문자열의 단어 반전
  • 다음 Docker memcached의 모든 캐시된 콘텐츠를 플러시하는 방법은 무엇입니까?