2017-02-16 6 views
0

데이터라는 데이터 프레임이 있습니다. 나는 변수 목록을 터툴리는 함수를 만들었고 lapply를 사용하여 각각에 대해 선형 모델을 생성했다. 이 방법은 게시물 this을 기반으로합니다.몇 가지 사후 테스트를 반복하십시오.

library(datasets) 
testDF <- data.frame(Salaries) 
#creates list of variables 

varListTest <- names(testDF)[3:4] 

#creates a model for each of the variables in question 
model<- lapply(varListTest, function(x) { 
    lm(substitute(i~Rank, list(i = as.name(x))), data = testDF)}) 

#output model 
lapply(model, summary) 

위대한 작품입니다. 이 예제에서는 작동하지 않습니다 분명히

TukeyHSD(model) 

이,하지만 나는이 생각했던 것 : : 그러나,이 같은 방식으로 사후 테스트를 실행하고 싶습니다 일반적으로 내가 실행하여이 작업을 수행 할 것

lapply(model, TukeyHSD) 

하지만이 반환 :이 작업을하기 위해 실종 무엇

no applicable method for 'TukeyHSD' applied to an object of class "lm" 

?

+0

당신이'dput (데이터)를 사용하여 일부 데이터를 줄 수': 여기

lapply(model, function(m) TukeyHSD(aov(m))) 

는 재현 예입니다. – Jimbou

+0

네, 여기에 자신 만의 데이터를 업로드하는 것이 편하지 않으므로 R에서 샘플 데이터 세트를 포함하도록 게시물을 변경했습니다. dput (testDF)의 출력은 https://codedump.io/share/에 게시됩니다. TKO5BlEbPgSF/1 –

+0

가이, 코드에 더 많은 문제가있다.'varList'가 정의되었고'varList'가 사용되었다.'Anova'는 존재하지 않는다. ('..'), 자신의 코드를 테스트해라. ... –

답변

0

시도 :

testDF=iris 


varListTest <- names(testDF)[1:3] 

#creates a model for each of the variables in question 
model<- lapply(varListTest, function(x) { 
    lm(substitute(i~Species, list(i = as.name(x))), data = testDF)}) 


lapply(model, function(model) TukeyHSD(aov(model))) 

제공 (절단)

[[1]] 
    Tukey multiple comparisons of means 
    95% family-wise confidence level 

Fit: aov(formula = model) 

$Species 
         diff  lwr  upr p adj 
versicolor-setosa 0.930 0.6862273 1.1737727  0 
virginica-setosa  1.582 1.3382273 1.8257727  0 
virginica-versicolor 0.652 0.4082273 0.8957727  0 
+0

를 완벽하게한다! 내가 원했던 것! 고마워. –