R语言多组样本的N种组合embed函数embed函数用法大全记住吧

我想请问一下,R语言多组样本的N种组合embed函数embed函数用法大全记住吧
最新回答
春夜浅

2024-09-25 16:46:33

embed函数 R语言 多组样本的N种组合
对于单个基因在多个样本组中的差异表达,通常使用方差分析,即,将多个组比较在一起以获得P值。如果p值显著,说明多组基因表达有显著差异。然而,我们不能知道两组之间或两组之间的基因表达是否有显着性差异,因此我们需要细化分组,此时,我们需要使用排列和组合!在R语言中,可以使用 combn() 函数从一个向量中获得所有可能的元素组合:(All combinations of X elements of M are generated at one time).
例如,我们现在有4种Stage分期,现在要得到所有可能的两两组合,以进行差异表达分析:labels = c(“I“, “II“, “III“, “IV“)res = t(combn(labels, 2))res[,1] [,2][1,] “I“ “II“[2,] “I“ “III“[3,] “I“ “IV“[4,] “II“ “III“[5,] “II“ “IV“[6,] “III“ “IV“可见,两两一组共有6种可能,需要在每种可能的组合内进行两组间差异表分析!如果此时你已经写好了一个名为 limma_dea() 的差异表达分析函数,则可以很方便的在 combn 内部调用该函数:combn(labels, 2, FUN = limma_dea)如果只想取某位与其相邻下一位的组合:p_load(gtools)index = combinations(length(labels), 2) # 返回的是下标res[index[,2] == index[,1]+1,] # 基于满足条件的下标取原数据子集[,1] [,2][1,] “I“ “II“[2,] “II“ “III“[3,] “III“ “IV“不过,有更加简单的实现方式, embed 函数:Results each row of the matrix consists of sequences x [t] and x [t-1]…,X [t-dimension + 1], where t is the original index of X.comps = embed(labels,2)[,2:1]但是,由于 embed 没有调用函数的接口,所以可以使用 lapply 函数:my_comparisons = lapply(1:nrow(comps), function(x) comps[x,])lapply(my_comparisons, limma_dea)# 或者lapply(split(comps, 1:nrow(comps)), limma_dea)