2017-02-15 2 views
0

값이 통계적으로 컨트롤과 다른 경우 두 컨트롤 그룹의 값을 컨트롤과 비슷하거나 다른 것으로 분류하는 데이터 프레임에 열을 추가하는 방법을 찾으려고합니다.ifelse 문에서 p-value를 기준으로 사용하는 방법은 무엇입니까?

난이도 가능하다는 것을 잘 모르겠어요,하지만이 전

df <- data_frame(species = rep(c("X1", "X2", "X3", "X4"), times = 12), 
     condition = rep(c("Control", "Treat1", "Treat2"), each = 16), 
     values = rep(c(rnorm(16, mean = 16, sd = 4), 
         rnorm(16, mean = 14, sd = 3), 
         rnorm(16, mean = 5, sd = 10)))) 

와 비슷한 데이터가 그리고 지금은 열을 추가 할 asume 수 있습니다. 나는 그래서

df2 <- df %>% 
    group_by(species) %>% 
    mutate(new_column = ifelse("Value of each condition statistically different from Control", "Different", "Same") 

같은 것을 사용하는 방법에 대해 생각하는 ifelse 문 내부 통계 테스트를 적용하는 방법은 무엇입니까?

데이터를 분류하기위한 더 쉬운 기준을 더 잘 사용해야합니까? 어쩌면 컨트롤의 ± 1 표준 편차 내에있는 모든 값을 "동일"로 분류 할 수 있습니까?

도움과 의견을 보내 주셔서 감사합니다. 답장과 제안을 기다리고 있습니다.

+0

수행하려는 테스트를보다 명확하게 정의 할 수 있습니까? 어떤 post-hoc 테스트와 함께 이것은 oneway anova입니까? 또한'broom' 패키지를보십시오. 그것은 영광입니다. – boshek

답변

1

"t- 테스트"와 다양한 가정을 조사하고 싶습니다. 이것들은 정규 분포의 두 샘플이 동일한 평균을 갖는지를 결정하기위한 것입니다. R의 기본값은 분산이 동일하지 않은 것으로 가정하여 시뮬레이션 된 세트에 적합합니다.

나는 데이터의 시뮬레이션 세트, 그래서

> set.seed(1) 
> control <- rnorm(16, mean = 16, sd = 4) 
> treat1 <- rnorm(16, mean = 14, sd = 3) 
> treat2 <- rnorm(16, mean = 5, sd = 10) 
> lapply(list(treat1,treat2), function(t) t.test(t,control)$p.value < 0.05) 
[[1]] 
[1] FALSE 

[[2]] 
[1] TRUE 

를 논쟁의 데이터를 건너 뛸 수 있습니다, t- 검정 치료 1과 5 %의 유의 수준에서 제어를 구분하지 않습니다. 다른 샘플을 사용하면 더 큰 샘플의 경우 가능성이 높습니다.

관련 문제