안녕하세요, 내가 이전에 악기에 의해 일괄 적으로 생성 된 모든 .txt 파일에서 하나의 다른 플롯을 생성하는 R 스크립트를 만들려고 노력하고배치 여러 플롯
, 같은 위치 스크립트의 폴더.
저는 R과 프로그래밍에서 일반적으로 (프로그래밍까지 1-2 개월) 매우 열악합니다.
.txt 파일에는 헤더가없는 두 개의 열 V1 및 V2가 있습니다.
- 나는 폴더에있는 모든 TXT 파일의 목록을 얻을 : 코드를 생성하기 전에
``` library(tidyverse) library(ggsci) fileNames <- list.files(getwd(), full.names = T, pattern="txt") #print(fileNames) Speed_selection <- grep('speed', fileNames, value=TRUE) length <- length(Speed_selection) i <- 1 if(i<=length){ #print(Speed_selection[i]) Speed <- read.table((Speed_selection[i]), header=F, sep="") p <- ggplot(Speed)+geom_line(aes(V1,V2)) ggsave("plot.pdf", p) i=i+1 i } else { print("Finished") } ```
내 생각은 다음과 같다 : 여기
내가 생성 한 코드입니다. 목록을 확인하고 txt 파일 만 인쇄합니다. - 이름에 "speed"가있는 .txt 파일 만 선택합니다.
- 이 난에 1의 값을 할당
- 는 IF 루프 : 나 (I과
- 파일 선택의 I^번째 파일을 읽어 상기 선택된 파일의 개수보다 = < 경우 = 1 , 첫 번째 파일) 나는 플롯을
- 나는 1
그래서 NEX으로 난을 증가
루프는 "Speed_selection"의 모든 길이를 통과하지 않기 때문에 문제가 있습니다. 첫 번째 파일에 해당하는 하나의 플롯 만 얻습니다.
내가 뭘 잘못하고 있니?
감사합니다.
감사합니다.
그것은 "plot.pdf"매번 덮어 쓸 것입니다, 그래서 당신은 단지 하나의 출력을 얻을 것입니다. 루프를 구현하려면 처음에는 'for'가 있어야합니다. 또한,'ggsave'가 성취 된 후에'p <- plot (V2 ~ V1, Speed, "l")'은 무엇입니까? –
답장을 보내 주셔서 감사합니다. 나는 그렇게 생각했지만 선택 목록의 첫 번째 파일을 두 번째 파일이 아닌 (덮어 쓰기의 결과로 발생하는 것처럼) 플로팅하는 중입니다 ... ggsave 이후 줄거리에 대한 수정을 주셔서 감사합니다.정상적인 플롯 기능이 문제를 해결할 수 있는지 확인하려고했습니다. – Mollan