두 개의 데이터 집합이 있으며 데이터가 크게 다른지 여부를 알고 싶습니다 ( " 두 그룹이 크게 다릅니다? 테스트 사용 "에서 비롯됨 ).
R에서 다음을 수행하여 순열 테스트를 사용하기로 결정했습니다.
permutation.test <- function(coding, lncrna) {
coding <- coding[,1] # dataset1
lncrna <- lncrna[,1] # dataset2
### Under null hyphotesis, both datasets would be the same. So:
d <- c(coding, lncrna)
# Observed difference
diff.observed = mean(coding) - mean(lncrna)
number_of_permutations = 5000
diff.random = NULL
for (i in 1:number_of_permutations) {
# Sample from the combined dataset
a.random = sample (d, length(coding), TRUE)
b.random = sample (d, length(lncrna), TRUE)
# Null (permuated) difference
diff.random[i] = mean(b.random) - mean(a.random)
}
# P-value is the fraction of how many times the permuted difference is equal or more extreme than the observed difference
pvalue = sum(abs(diff.random) >= abs(diff.observed)) / number_of_permutations
pvalue
}
그럼에도 불구하고이 백서에 따르면 p- 값은 0이 아니어야합니다. http://www.statsci.org/smyth/pubs/permp.pdf
내가 뭘 추천하니? p- 값을 계산하는이 방법입니까?
pvalue = sum(abs(diff.random) >= abs(diff.observed)) / number_of_permutations
좋은 방법? 아니면 다음을 수행하는 것이 더 낫습니까?
pvalue = sum(abs(diff.random) >= abs(diff.observed)) + 1 / number_of_permutations + 1
a.random
b.random
b.random
a.random
coding
lncrna