title: "探针转换与基因去重"
output: html_document
editor_options:
chunk_output_type: console
需要R包版本2.3.1及以上
rm(list = ls())
#打破下载时间的限制,改前60秒,改后10w秒
options(timeout = 100000)
options(scipen = 20)#不要以科学计数法表示
library(dplyr)
library(tibble)
exprSet <- exprSet %>%
rownames_to_column(var="probeset") %>%
#合并探针的信息
inner_join(probe2symbol,by="probeset") %>%
#去掉多余信息
select(-probeset) %>%
#重新排列
select(symbol,everything()) %>%
#求出平均数(这边的点号代表上一步产出的数据)
mutate(rowMean =rowMeans(.[grep("GSM", names(.))])) %>%
#去除symbol中的NA
filter(symbol != "NA") %>%
#把表达量的平均值按从大到小排序
arrange(desc(rowMean)) %>%
# symbol留下第一个
distinct(symbol,.keep_all = T) %>%
#反向选择去除rowMean这一列
select(-rowMean) %>%
# 列名变成行名
column_to_rownames(var = "symbol")
#> Error: object 'exprSet' not found
#方法有三种:1.随机去重 2.取行平均值最大的探针 3.取多个探针的平均值.此处为"方法2".
注:基因去重这个部分要重视起来。
#方法1:去除symbol中的NA
filter(symbol != "NA")
#> Error: object 'symbol' not found
#方法2:去除symbol中的空格
id4 = soft[,c("ID","GENE_SYMBOL")]
#> Error: object 'soft' not found
k = id4$GENE_SYMBOL=="";table(k)
#> Error: object 'id4' not found
id4 = id4[!k,]
#> Error: object 'id4' not found
id4 = soft[, c("ID", "GENE_SYMBOL")]
#> Error: object 'soft' not found
#方法3:去除GENE_SYMBOL 列中内容为空字符串 "" 或者包含 "///" 的行
k = id4$GENE_SYMBOL == "" | grepl("///", id4$GENE_SYMBOL)
#> Error: object 'id4' not found
# 统计 k 中 TRUE 和 FALSE 的数量
table(k)
#> Error: object 'k' not found
# 去除这些行
id4 = id4[!k, ]
#> Error: object 'id4' not found
包含 "///" 的行,也就是一个探针对应多个基因的情况。
knitr::knit("a.Rmd")
#> Error in parse_block(g[-1], g[1], params.src, markdown_mode): Duplicate chunk label 'setup', which has been used for the chunk:
#> knitr::opts_chunk$set(
#> collapse = TRUE,
#> comment = "#>"
#> )
#> knitr::opts_chunk$set(fig.width = 10,fig.height = 7,collapse = TRUE)
#> knitr::opts_chunk$set(message = FALSE,warning = FALSE)
引用自果子学生信
引用自生信技能树
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。