lsmeans를 사용하여 여러 비교를 수정할 수있는 방법이 있는지 궁금합니다. 비교? 나는 [R lsmeans adjust multiple comparison을 발견했다. 그러나 나는 이것이 내가 필요한 것에 도착한다고 생각하지 않는다.어떻게 여러개의 비교를위한 보정을 R의 lsmeans를 사용하여 필요 이상으로 수정하지 않고 프로그램 할 수 있습니까?
기본적으로 내 데이터를 설명하는 가장 좋은 모델은 완전한 모델이므로 세 가지 요인 (연도, 강 및 성) (4 개의 강과 4 개의 다른 연도가 있음) 간의 상호 작용을 살펴 봅니다. 나는 다만 수있는 다음 (TL은 총 길이이며, 응답 변수입니다)이 lsmeans 거북이 = lsmeans (주머니쥐, 사양 = 페어 다음 TL_interact = LM (TL ~ 년 강 섹스, 데이터 = Walleye_alldata_nu) ~ 기간 강 성별, 조정 = "FDR")
그러나 이것은 496 개의 비교를 위해 수정되었습니다. 나는에 관심이 비교의 실제 수는 TL_lsmeans1of2 $ 나는 dataframe TL_lsmeans1of2_df = 요약으로이 데이터를 조작 할 수 있도록 이러한
TL_lsmeans1of2 = lsmeans(TL_interact, specs = pairwise~Year|Sex*River, adjust = "FDR")
후 약간 변경 코드를 사용하여 요약을 사용하여 달성 될 수있다 (56) (이다
이것의 출력 샘플 TL_lsmeans2of2 = lsmeans (TL_interact, 사양 = pairw 대한 출력의 특정 행을 선택하고
Sex = F, River = Chalifour:
contrast estimate SE df t.ratio p.value
Y2002/03 - Y2015 74.1746032 18.994645 1497 3.905 0.0006
Y2002/03 - Y2016 33.4750958 16.963837 1497 1.973 0.0730
Y2002/03 - Y2017 45.7222222 19.604254 1497 2.332 0.0396
Y2015 - Y2016 -40.6995074 14.468508 1497 -2.813 0.0149
Y2015 - Y2017 -28.4523810 17.489789 1497 -1.627 0.1248
Y2016 - Y2017 12.2471264 15.260011 1497 0.803 0.4224
Sex = M, River = Chalifour:
contrast estimate SE df t.ratio p.value
Y2002/03 - Y2015 49.4788034 6.054656 1497 8.172 <.0001
Y2002/03 - Y2016 36.4539394 5.893992 1497 6.185 <.0001
Y2002/03 - Y2017 55.7266667 6.352504 1497 8.772 <.0001
Y2015 - Y2016 -13.0248640 5.645109 1497 -2.307 0.0254
Y2015 - Y2017 6.2478632 6.122289 1497 1.021 0.3077
Y2016 - Y2017 19.2727273 5.963447 1497 3.232 0.0019
이고) 대조 ise ~ Year * Sex | River, adjust = "FDR")
이 두 번째 lsmeans 출력 b/c에 대해서는 내 질문과 동일한 해결책이 적용되지 않습니다. 그러나이 두 번째 lsmeans 문에서 선을 선택하고 첫 번째 lsmeans 문과 함께 56 개의 비교를합니다.
는 I는 t.ratio 및 TL_lsmeans1of2_df $ p.val.adjusted = PT (TL_lsmeans1of2_df $ t.ratio, TL_lsmeans1of2_df $ DF)을 사용하여 PT 명령을 사용하여 자유도를 사용하여 P 값을 조정하려고그러나 결과는
Sex = F, River = Chalifour:
contrast estimate SE df t.ratio p.value p.val.adjusted
Y2002/03 - Y2015 74.1746032 18.994645 1497 3.905 0.0006 0.999950797
Y2002/03 - Y2016 33.4750958 16.963837 1497 1.973 0.0730 0.975678658
Y2002/03 - Y2017 45.7222222 19.604254 1497 2.332 0.0396 0.990090497
Y2015 - Y2016 -40.6995074 14.468508 1497 -2.813 0.0149 0.002486354
Y2015 - Y2017 -28.4523810 17.489789 1497 -1.627 0.1248 0.051995069
Y2016 - Y2017 12.2471264 15.260011 1497 0.803 0.4224 0.788822739
나는 56의 비교에 적절한 보정을 사용하여 새 p- 값을 얻을 할 수있는 방법에 대한 어떤 생각이 크게 감사하겠습니다 단지 엉뚱한 있습니다. 당신이 그것을 다르게 내 대조를 코딩하는 나를 위해 더 나은 생각한다면, (I는 0과 1 [https://rcompanion.org/rcompanion/h_01.html]를 사용하여이 게시물을보고, 나는 또한 기꺼이이 접근하는 방법에 대한 어떤 제안을 것입니다.
이 엘라 보울을 주셔서 감사합니다
p.adjust 함수는 구현하기가 쉽지만 특별히 이것을 사용하는 방법을 잘 모릅니다.내 출력 결과 (두 개의 개별 테이블)가 rbind와 제대로 결합되지 않으므로 문제가 될 수 있습니다. 따라서 총 56 개의 비교가 있거나 잘못된 비교 횟수를 기반으로 정정을 지정해야합니다. 비교 횟수를 어떻게 지정할 수 있는지 알고 있습니까? –
개인적으로'lsmeans' 호출에서 가능한 paiwise 대비의 특정 부분을 어떻게 지정해야할지 모르겠습니다. 어쨌든 해결 방법을 찾지 못하면,'adjust = 'none '' 인자를 수정하지 않고'lsmeans' 출력의'$ contrasts' 테이블을 쉽게 얻어서 데이터 프레임에 넣을 수 있습니다 이 'contrast_df <- as.data.frame (summary (lsmeansoutput $ contrasts))'와 같이. 그런 다음 출력을 부분 집합하여 원하는 p.values 만 가져올 수 있습니다. – Antonio