2017-02-24 4 views
1

Linux에서 Rscript를 40 회 반복 실행하도록 루핑하고 있습니다. 실행될 때마다 파일에 추가해야하는 통계가 거의 생성되지 않습니다. 파일에는 모든 통계 테이블이 40 번 첨부되어야합니다.
mean_data <- mean(m)
minimum <- min(m)
maximum <- max(m)
standard_daviation <- sd(m)
Range <- range(m)
file <- "map1"
x <-data.frame(file, mean_data,minimum,maximum,Range,standard_deviation)
system2("echo", args = paste0(" ", x ," >> tab_1.txt"))셸 명령을 호출하는 R 파일에 값 추가

예상되는 결과는 다음과 같습니다 :
file mean_data minimum maximum Range standard_deviation
012이 내 코드입니다 3,516,[1] map1 1349 1100 1600 500 45
[2] map2 1242 1291 1628 337 38

그러나 결과가 있었다 : 나는 때마다 값을 추가 할 수 없습니다 때문에 write.table를 사용
[1] 1349 1100 1600 500 45
[2] 1242 1291 1628 337 38

나를 위해 좋은 옵션이 아닙니다. 위의 코드를 쉘에서 40 번 반복하여 실행하고 있습니다.

답변

1

append=TRUEwrite.table에 사용하십시오.

append

논리적. 파일이 문자열 인 경우에만 관련이 있습니다. 참이면 출력이 파일에 추가됩니다. FALSE이면 이름의 기존 파일이 파기됩니다.

df <- data.frame(file, mean_data,minimum,maximum,Range,standard_deviation) 
if(!file.exists("filename.txt")) { 
    write.table(df, "filename.txt", col.names=TRUE) 
} else { 
    write.table(df, "filename.txt", col.names=FALSE, append=TRUE) 
} 
+0

감사합니다. 그게 효과가있어. – amc794