간단한 5 라인 명령을 실행하려고하는데 9000 개가 넘는 다른 파일을 실행하려고합니다. 나는 루프를 위해 다음을 썼다.R 루프 열기 파일
setwd("/Users/morandin/Desktop/Test")
output_file<- ("output_file.txt")
files <- list.files("/Users/morandin/Desktop/Test")
for(i in files) {
chem.w.in <- scan(i, sep=",")
pruned.tree<-drop.tip(mytree,which(chem.w.in %in% NA))
plot(pruned.tree)
pruned.tree.ja.chem.w.in <- phylo4d(pruned.tree, c(na.omit(chem.w.in)))
plot(pruned.tree.ja.chem.w.in)
out <- abouheif.moran(pruned.tree.ja.chem.w.in)
print(out)
}
안녕하세요, 제 질문을 편집하고 있습니다. 위의 코드는 for 루프를 완벽하게 처리합니다 (모든 도움을 주셔서 감사합니다). 나는 결과물에 여전히 문제가있다.
나는 bash 명령을 통해 R을 사용하여 전체 출력을 리디렉션 할 수 있지만 처리 된 파일의 이름이 필요합니다. 내 결과물은 다음과 같습니다.
class: krandtest
Monte-Carlo tests
Call: as.krandtest(sim = matrix(res$result, ncol = nvar, byrow = TRUE),
obs = res$obs, alter = alter, names = test.names)
Number of tests: 1
Adjustment method for multiple comparisons: none
Permutation number: 999
Test Obs Std.Obs Alter Pvalue
1 dt 0.1458514 0.7976225 greater 0.2
other elements: adj.method call
Pvalue 결과와 파일 이름 (요소 i)을 인쇄하는 방법이 있습니까 ??
덕분에
파일 이름과 파일 확장자 사이에'.'가 필요하지 않습니까? '파일 '은 어떻게 생겼습니까? 그것을'paste (i, "txt", sep = ".")'로 변경해보십시오. 그러나'list.files'에서 나온 확장자가 이미 있어야합니다. –
'read.table (i)'를 루프 – Koundy
@koundy는 현재 작업 디렉토리가'/ Users/morandin/Desktop/Test'라고 가정합니다. 기본적으로'list.files()'는 전체 경로를 반환하지 않습니다. –