(x) library(x, character.only = T)); rm(tmp, my_packages) # make fake data DEG <- data.frame( genes...= paste0("gene", 1:100), fold_change = round(runif(100, -10, 10), 2), P_value = runif(100, 0.001..., 0.1) ) DEG$group 0.05) | (abs(DEG$fold_change) < 2) , "no-Significant",...这里因为以火山图为例,先使用火山图绘图函数easyVolcano :需要注意这里的数据框的行名需要是基因名 # 开始之前修改一下数据框 DEG$new_P <- -log10(DEG$P_value)...easylabel(DEG) rownames(DEG) <- DEG$genes easyVolcano(DEG, x = "fold_change", y = "<em>P_value</em>
<- sapply(my_packages, function(x) library(x, character.only = T)); rm(tmp, my_packages) 接着就是完整代码了:...# 2. ggrepel ---- set.seed(1234) DEG <- data.frame( genes = paste0("gene", 1:100), fold_change =...round(runif(100, -10, 10), 2), P_value = runif(100, 0.001, 0.1) ) DEG$group <- ifelse((DEG$P_value...head_genes,] (p <- ggplot(data = DEG, aes(x = fold_change, y = -log10(P_value...github.com)[5] (p <- ggplot(data = DEG, aes(x = fold_change, y = -log10(P_value
setnames(gwas, old=c("beta", "p_value","variant_id"), new=c("Effect", "pval","SNP")) gwas$OA <- chartr...path_to_QTL,tissue,file_extension)) gc() 筛选基因对应的数据 split_variant <- data.frame(str_split(QTL_file_subsest.../tmp_data/") write.csv(GWAS_QTL_merge, paste0(".....= F, quote = F) 读取暴露数据 做到这一步,不难发现,作者是直接将GTEx的SQTL数据作为暴露数据读入了。..."rm ",paste0("..
p_value_text = ['p-value < 0.001' if p_value < 0.001 else 'p-value = %.4F'%p_value][0] ax[cr...p_value_text = ['p-value < 0.001' if p_value < 0.001 else 'p-value = %.4F'%p_value][0] ax.set_title(...= df_t.loc[df_t[feature] == i] p_value = multivariate_logrank_test(event_durations = df_tmp.tenure...event_observed=df_tmp.Churn ).p_value if p_value...<= 0.05: p_value_text = ['p-value < 0.001' if p_value < 0.001 else 'p-value = %.4F'%p_value
install.packages("BiocManager") BiocManager::install("bao")3.devtools::install_github("bao") 2.在GEO数据库中下载...(P.Value)))+xlim(-2,2)+ylim(0,8)+ geom_point(aes(color=significant),size=0.8)+theme_classic()...theme(title = element_text(size=18),text = element_text(size=18))+ labs(x="log2(foldchange)",y="-log10(P_Value...theme(title = element_text(size=18),text = element_text(size=18))+ labs(x="log2(foldchange)",y="-log10(P_Value...<- exp6[label.deg,]install.packages("pheatmap")library(pheatmap)pheatmap::pheatmap(exprset.map,#热图的数据
欢迎大家关注全网生信学习者系列:WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2介绍置换检验是一种非参数统计方法,它不依赖于数据的分布形态,因此特别适用于小样本数据集...这种方法允许研究者在不依赖于数据分布的前提下,对统计显著性进行更为稳健的评估。...length(x2)) M_temp M0]) / length...(M_distri) p_label M0)") pl <- ggplot(dat, aes(x = Value
第三步,整理结局数据 这一步是针对gwas catalog的数据,当然也可以根据自己的数据来修改 source("step1_lib.R") dir <- "...."P_noSPA" # [11] "beta" "standard_error" # [13] "p_value...# [9] "odds_ratio" "ci_lower" # [11] "ci_upper" "p_value...nThread = 2, save_path =paste0(...other_allele_col = "other_allele", pval_col = "p_value
初始化结果数据表格 p_value = [1.] * len(Ndata) log2FoldChange = [] label = ['0'] * len(Ndata) result = pd.DataFrame...([p_value, log2FoldChange, label]) result = result.transpose() result.columns = ['p_value', 'log2FC',...FC_cutoff): result.loc[i, 'label'] = '1' if (p2 <= p_cutoff): result.loc[i, 'p_value...= ['p_value', 'log2FC', 'label'] result.index = Ndata.index.tolist() p = [] # 秩和检验(也叫Mann-Whitney U-test...FC_cutoff): result.loc[i, 'label'] = '1' if (p2 <= p_cutoff): result.loc[i, 'p_value
单句一个个点运行时就容易出现下面的问题,多点了导致参数赋值出错。 更多的时候,会出现这样的错误,中间少点了某一句,致使程序一直未能如期运行。...参数写错: 比如-l误看做-1,自己敲入命令时就会出错;或-c, -C, -p, -P等大小写问题;或不同系统软件参数略有不同导致的。...`(`*tmp*`, variable, value = integer(0)) : replacement has 0 rows, data has 58 Calls: $ $<-.data.frame...Execution halted 检查给定的变量名字(也就是列名字)是否存在 ---- Error in `levels<-`(`*tmp*`, value = if (nl == nL) as.character...---- Error: object 'Value' not found Execution halted 请提供数据中存在的列名字,注意大小写;特殊地,对线图,数值列的列名字必须是value ---
,其中包含两列:表达量(expression)和分组(group) data <- data.frame( expression = rnorm(200), # 这里我们只是生成了一些随机数据...rep(c("A", "B"), each = 100) ) # 进行t检验,得到p值 t_test_result <- t.test(expression ~ group, data = data) p_value...<- t_test_result$p.value # 打印p值 print(paste("p-value:", p_value)) # 绘制箱线图 ggplot(data, aes(x = group...~ group, data = data) p_value <- t_test_result$p.value p1 = ggplot(data, aes(x = group, y = expression...)) + geom_boxplot() + ggtitle(paste("p-value:", p_value)) +theme_bw() # 根据表达量计算ROC曲线 roc_result
<- cortest$r > range(r_value) [1] -0.8980495 1.0000000 设置色块(是通过对称性将0设置为白色) > pheatmap(r_value, +...【若使用ggplot2进行热图绘制,由于其输入数据为长数据,可以通过reshape包中的melt()将数据转化,进行绘制】 > r_value[upper.tri(r_value)] <- 0 >...假设现在我想看这10个test之间相关关系热图: > library(Hmisc) > cortest <- rcorr(as.matrix(test), type = "pearson") > p_value...<- ifelse(is.na(cortest$P), "", cortest$P) > pheatmap(cortest$r, display_numbers = matrix(ifelse(p_value...< 0.05, "*", ""), nrow(p_value))) 做相关的type可以选择spearman 同样的,如果想看这20个基因之间的相关关系热图,可以讲数据框进行转置t(),因为该计算相关矩阵的函数默认对列的变量进行相关分析
取样10个,2白8黑,别人说全是白球,通过样本的数据推翻了别人对于群体的猜测,这叫做假说检定。 统计检定介绍 定义 根据样本信息,检验一个或者多个群体参数值之假说。 ? 步骤 ?...cdf为构造的分布,x为分布的参数,side=-1 备择假设less,0双侧检验,1备择假设greater pValue <- function(cdf, x, paramet=numeric(0),...side=0){ n <- length(paramet) P <- switch(n+1, cdf(x), cdf(x, paramet...S2 <- var(x); df=n-1 } chi2 <- df*S2/sigma2 P <- pValue(pchisq, chi2, paramet=df, side=side) data.frame...(var=S2, df=df, chisq2=chi2, P_value=P) } myVar.testP(x,sigma2=75) myVar.testP(x,sigma2=75,mu=149) ##
# 先生成一个原始的数据 > test <- data.frame(geneid = paste0("gene",1:4), + sample1 = c(1,4,7,10...> test <- data.frame(x = c( "a,b", "a,d", "b,c"));test x 1 a,b 2 a,d 3 b,c 使用separate,便可以对一列中的数据达到...通过replace_na,可以将 replace_na(col, value) ,将col 中的NAs 替换为指定的value。...$X2 <- replace_na(list(X2=0)) 通过fill,可以将指定列中的缺失值替换为该缺失值所在行的上一行中的数据。...# 缺乏一个唯一确定该数据的变量。 # x_spread <- spread(test, key=var, value=num) # 通过mutate 会表格添加一列索引列。
# 清洗数据 expreSet 0)>3,] phenoData$`Immune phenotype` <- as.character(phenoData...index)] sur_data <- merge(sur_data,exp,by.x='bcr_patient_barcode',by.y='ID') # 批量单因素COX回归 gene <- c() p_value...p |z|)'] if (p<0.05){ gene <- c(gene,colnames(sur_data)[i]) p_value...<- c(p_value,p) HR <- c(HR,sum_res$conf.int[,'exp(coef)']) lower95 <- c(lower95,sum_res$conf.int...= gene,pvalue=p_value,HR=HR,lower.95=lower95,upper.95=upper95) 用批量单因素cox回归,找到pvalue小于0.05的gene 8.
为了进一步在ggplot2包中绘图,需要把SpatialPolygonsDataFrame数据类型转化为真正的data.frame类型才可以。..., from = "GBK") grep("长沙", tmp, value = TRUE) ## [1] "长沙县" "长沙市市辖区" grep("长沙", tmp) ## [1] 2122...2183 mydat$ADCODE99[grep("长沙", tmp)] ## [1] 430121 430101 ## 2368 Levels: 0 110100 110112 110113 110221...很多人的做法是到百度地图上用绘图软件摹描出区域线图,然后再把自己的数据计算成相应颜色,再手工填充颜色绘成统计地图。这个过程枯燥繁琐,而且数据映射成颜色的时候容易出错。...= read.table(paste0("data/", x)); tmp = rbind(tmp, tmp[1, ]);
dds3 0 (up) : 49, 0.27%## LFC % data.frame() %>%
0.起因 想要重新整理一下count转换为tpm的代码。隐约记得之前有反馈说计算出来的结果和哪里不一样,所以我想检查一下。...y[1]:y[2] }) length(unique(unlist(tmp))) }) gle=data.frame(gene_id=names(gle),...3.对答案 TCGA提供了tpm的,这个很权威,不太可能会出错。 CHOL_rnaseq.Rdata里的数据是TCGAbiolinks下载整理好的结果,里面包含了count和tpm。...属于R语言高级玩家的快乐 必须要研究一下曾老板高难度的R语言代码,看看是个什么原理,为什么碰上这种问题数据会算出错误结果。...length(unique(unlist(tmp))) ## [1] 2432 如果不给exon数据框去重,要从代码的角度解决它,那就把上面的代码换成: length(unique(as.integer
0 0 1 # ENSG00000187634 0 0 0...library(ggplot2) library(gridExtra) kBET.plots <- list() for (patient in patients){ plot.data <- data.frame...kBET.observed, digits = 2) colnames(summary.kBET) <- c('kBET (null model)', 'kBET (observed)', 'kBET p_value...), row.names=TRUE) # Table: Summary for NA19239 # | | kBET (null model)| kBET (observed)| kBET p_value...生物学差异和批次效应混在一起的情况,这里就是单纯地看批次效应 library(ggplot2) pca.umis <- prcomp(log10(1+t(umi.qc[-spikes,]))) pca.df <- data.frame
领取专属 10元无门槛券
手把手带您无忧上云