R-apply| 基因表达量批量二分类,Get!(修正版)

简介: R-apply| 基因表达量批量二分类,Get!(修正版)

本文首发于“生信补给站”公众号  https://mp.weixin.qq.com/s/fzxM38mGCahiuhzb0FdBxg


生信或者数据挖掘中经常会遇到需要把连续的表达量数据转为分类变量。比如基因表达量二分类进行后续的生存分析。

一 读入数据

读入TCGA的表达量数据,截取部分数据进行示范

#TCGA的表达量数据
#setwd()
data <- read.csv("Expr_median.csv",header=TRUE,row.names=1,check.names=FALSE)
data <- as.data.frame(t(data))
data[1:4,1:4]

  • row.names=1 :读入数据的第一列作为行名
  • check.names=FALSE:标题保持原样

可以自行试一下,分别去掉这两个参数,然后比较下数据的差异


二 批量转化


1 ifelse转化单一列

#将TCGA-97-7938-01A根据medain转为 高 低
data1 <- data
data1[,"ENSG00000000003.13"] <- ifelse(data1[,"ENSG00000000003.13"] > median(data1[,"ENSG00000000003.13"]),"High","Low")
data1[1:4,1:4]

可以看到ENSG00000000003.13基因的表达量已经转为高 低 二分类了。


分段阈值:还可以是均值,四分卫,10%,或者具体数值

#按照均值分
data1[,"ENSG00000000460.15"] <- ifelse(data1[,"ENSG00000000460.15"] > mean(data1[,"ENSG00000000460.15"]),"High","Low")
#按照75%分
data1[,"ENSG00000000419.11"] <- ifelse(data1[,"ENSG00000000419.11"] > quantile(data1[,"ENSG00000000419.11"],0.75),"High","Low")
#按照具体数值分
data1[,"ENSG00000000457.12"] <- ifelse(data1[,"ENSG00000000457.12"] > 10,"High","Low")
data1[1:4,1:4]

2 批量转化

当列数较少时,可以按照上述方式,一个个完后分类。当太多时,需要批量完成!

#使用apply,批量完成转化
data2 <- data
data2 <- apply(data2, 2, function(x) {ifelse(x >= median(x), "hign", "low")})
head(data2)

批量已完成,省时省力!


3 for循环完成

data3 <- data
for (i in colnames(data3)){
 data3[,i] <- ifelse(data3[,i] >= median(data3[,i]),"high","low")
}

实现方式很多,根据个人习惯,自取!

相关文章
|
4月前
|
搜索推荐
淘宝粗排问题之引入未曝光样本和随机负样本对粗排模型有何影响,如何解决
淘宝粗排问题之引入未曝光样本和随机负样本对粗排模型有何影响,如何解决
|
7月前
|
前端开发 数据可视化 算法
r语言Bootstrap自助法重采样构建统计量T抽样分布近似值可视化|代码分享
r语言Bootstrap自助法重采样构建统计量T抽样分布近似值可视化|代码分享
|
7月前
|
算法 vr&ar Python
R语言隐马尔可夫模型HMM连续序列重要性重抽样CSIR估计随机波动率模型SV分析股票收益率时间序列
R语言隐马尔可夫模型HMM连续序列重要性重抽样CSIR估计随机波动率模型SV分析股票收益率时间序列
|
7月前
Stata广义矩量法GMM面板向量自回归 VAR模型选择、估计、Granger因果检验分析投资、收入和消费数据
Stata广义矩量法GMM面板向量自回归 VAR模型选择、估计、Granger因果检验分析投资、收入和消费数据
|
7月前
|
数据可视化 索引 Python
数据分享|Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据
数据分享|Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据
|
7月前
|
数据可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
|
7月前
R语言用GAM广义相加模型研究公交专用道对行程时间变异度数据的影响
R语言用GAM广义相加模型研究公交专用道对行程时间变异度数据的影响
|
7月前
R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格
R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格
|
7月前
R语言参数检验 :需要多少样本?如何选择样本数量
R语言参数检验 :需要多少样本?如何选择样本数量
|
7月前
R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系