2017-10-19 4 views
0

아래 코드는 본인의 코드에서 볼 수 있습니다. 내가하고 싶은 것은 sample1 (샘플 1이 들어있는 모든 것, 이후의 모든 문자가 될 수 있음) 및 샘플 2 (샘플 2가 들어있는 모든 것, 이후의 모든 문자가 될 수 있음) 사이의 가장 중요한 차이가있는 5 개의 단백질을 인쇄하는 것입니다. p 값은 wilcoxon 테스트에서 계산해야합니다.열 이름을 기반으로 한 R 하위 설정 및 p 값 계산

이 값에 기초하여 단백질을 주문하기 위해 사용하려는 p 값을 계산하기 위해 이러한 데이터에 대해 wilcoxon 비모수 테스트를 수행하고 싶습니다. 샘플 이름을 기반으로 데이터의 하위 집합을 만들 수있는 방법이 확실하지 않습니다. 번호가 같으면 다음에 나오는 문자와 상관없이 1 또는 2로 일치하는 값을 찾습니다. 코드를 어디에서 시작해야하는지, 그리고 샘플 1과 샘플 2의 데이터를 올바르게 서브 세트 화하는 방법을 모릅니다.

더 명확하게하기 위해 모든 샘플 1과 2에서 별도로 wilcoxon 테스트를 수행하고 싶습니다. . 그런 다음이 p 값을 사용하여 서로 가장 다른 상위 5 개 단백질을 인쇄하십시오.

도움을 주시면 감사하겠습니다. 감사합니다. 우선

protein<-c("COX4", "LJK2", "JJ2", "HK1", "3DFG", "JE3","LOP2","PQE8") 
    sample1a<-c(2.01, 1.58, 1.49,2.09, 2.11, 1.54, 1.39, 1.49) 
    sample1b<-c(2.04, 1.57, 1.47,2.04, 2.10, 1.51, 1.40, 1.49) 
    sample2a<-c(2.07, 1.52, 1.59,2.19, 1.41, 1.51, 1.36, 1.41) 
    sample2b<-c(2.01, 1.48, 1.43,2.04, 2.01, 1.44, 1.49, 1.53) 
    sample3a<-c(2.11, 1.48, 1.49,2.09, 2.11, 1.54, 1.39, 1.48) 
    sample3b<-c(2:21, 1.38, 1.29,2.39, 2.07, 1.59, 1.29, 1.38) 


df<-data.frame(protein,sample1a,sample1b,sample2a,sample2b, sample3a, sample3b) 

답변

0

, 당신의 게시 된 데이터는 대신 소수점의 :으로 값이 sample3b 벡터에서, 옳지 않다. 게다가, 왜 캐릭터?
다음을 사용하여 모든 pair-wise columns 테스트를 수행 할 수 있습니다.

# First convert to numeric 
df2 <- as.data.frame(sapply(df[-1], function(x) as.numeric(as.character(x)))) 

# Now define a function to be applied to pairs of columns 
fun <- function(x, y) wilcox.test(x, y, exact = FALSE)$p.value 
# apply the function above 
result <- sapply(df2, function(x) sapply(df2[-1], fun, x)) 

any(result < 0.05) # no p-value is significant 
#[1] FALSE 
+0

죄송합니다. 저는 R에 익숙하지 않고 문자를 만들 필요가 없다는 것을 잊어 버렸습니다. 도움을 주셔서 감사합니다. – Lentum