我有一個函數tryCatch輸出是這樣的:for循環rownames輸入到函數
> s1 <- tryCatch(survdiff(Surv(as.numeric(as.character(ClinicalDataHep$new_death))[ind_clin],ClinicalDataHep$death_event[ind_clin])~event_rna[ind_gene,ind_tum]), error = function(e) return(NA))
> s1
Call:
survdiff(formula = Surv(as.numeric(as.character(ClinicalDataHep$new_death))[ind_clin],
ClinicalDataHep$death_event[ind_clin]) ~ event_rna[ind_gene,
ind_tum])
N Observed Expected (O-E)^2/E (O-E)^2/V
event_rna[ind_gene, ind_tum]=0 72 41 41.1 0.000223 0.00278
event_rna[ind_gene, ind_tum]=1 4 4 3.9 0.002345 0.00278
Chisq= 0 on 1 degrees of freedom, p= 0.958
從這個輸出,可以計算出的p值是這樣的:
> p.val <- 1 - pchisq(s1$chisq, length(s1$n) - 1)
> p.val
[1] 0.9579535
我想在第一個函數中做一個for循環,它採用所有可能的ind_gene
中的TryCatch
,它是從rownames(matrix_cpm_spike_liver)
和定義的,獲得所有不同rownames的p值。的ind_gene
例子:
> head(rownames(matrix_cpm_spike_liver))
[1] "hsa-let-7a-2-3p" "hsa-let-7a-3p" "hsa-let-7a-5p" "hsa-let-7b-3p" "hsa-let-7b-5p"
[6] "hsa-let-7c-3p"
喜歡的東西:做披着一切功能,並使用sapply
的
for (i in rownames(matrix_cpm_spike_liver))
{TryCatch...
}
我需要更多信息。你可以使用無意義的數據並提供一個更好的例子嗎? – polka