2016-07-18 5 views
1

다음과 유사한 여러 CSV 파일이 있습니다.여러 개의 TukeyHSD 테스트를 하나의 테이블로 반복합니까?

Library Parameter1 
A  3 
A  2 
A  5 
B  2 
B  1 
B  9 
C  4 
C  2 
C  8 

는 사실은 다음과 같습니다 CSV Table

각 .CSV 파일 등이 경우 "logtPSA.csv"로 화학적 매개 변수의 이름을 따서 명명된다. 당신이 말할 수있는 헤더는 "Library"와 "Value"입니다. 나는 4 개의 다른 도서관을 가지고있다 : FDA, SMMRNA, VD_SM, 그리고 VD_MV.

나는 ANOVA 테스트와 TukeyHSD 테스트를 모두 수행했지만 R은 결과가 셀로 분리 된 형식으로 제공하지 않으므로 복사하고 Excel에 붙여 넣을 수 있으므로 수행 할 수 있습니다. 손으로 아주 지루할 것입니다.

나는 모든 파일을 한 번에 하나씩 살펴보고 테스트를 수행하고 2 개의 깔끔한 테이블로 출력 할 수있는 방법이 있는지 궁금합니다 (ANOVA의 경우 1, TukeyHSD의 경우 1).

답변

1
,이 한이 일을 여러 가지 방법이 있습니다입니다

:

가져 오기 모든 데이터 파일

setwd("C:/Users/VANBE/Desktop") 
files = dir(".", pattern = ".csv") 
files.dir = paste(getwd(),"/" ,files,sep="") 
load = lapply(files.dir, read.csv2,header=T,sep=",",dec=".") 
names(load)=unlist(strsplit(files,".csv")) # not truly necesary 

그것으로

load = list(FILENAME1=data.frame(x=1699:1722,Library=c(rep("FDA",18),rep("SMMRMA",6)),logtPSA=rnorm(1.5,1,24)), 
      FILENAME2=data.frame(x=1699:1722,Library=c(rep("FDA",18),rep("SMMRMA",6)),logtELSE=rnorm(2,1,24))) 

넣어 결과를보고하는 방법의 예 데이터 프레임

load= lapply(load, function(x) {names(x) = c("number","library","parameter"); return(x) }) # make sure columnnames of al items are identical 

f.AN = function(x){out=aov(parameter ~ library,x) 
AN=summary(out)[[1]]} 
f.TU = function(x){out=aov(parameter ~ library,x) 
TU=TukeyHSD(out)[[1]]} 

AN = do.call("rbind",lapply(load,f.AN)) 
TU = do.call("rbind",lapply(load,f.TU)) 
+0

안녕 웨이브 th 당신은 대답을 구하십시오. 당신의 대답의 첫 부분까지 올랐습니다. 그런 것들을 대체하여 어떻게 작동하게 만드는지 알 수 없었습니다. 더 자세한 정보로 내 질문을 업데이트 했으므로 좀 더 도와 줄 수 있기를 바랍니다. 물론 필요한 추가 정보를 제공 할 수 있습니다. 나는 여전히 R에있어 매우 새롭기 때문에 모든 파일과 헤더의 이름을 합리적이고 효율적인 방식으로 지정했는지 확신 할 수 없었습니다. 고맙습니다! –

+0

내 답변이 업데이트되었습니다. 지금 사용하시기 바랍니다. – Wave