专栏首页生信小驿站如何将R语言普通矩阵转换为非负矩阵

如何将R语言普通矩阵转换为非负矩阵

# ===============================================================


# ===============================================================

setwd('C:\\Users\\czh\\Desktop')

library(Matrix)

rm(list=ls()) 

options(stringsAsFactors = F)

library(ConsensusClusterPlus)

dt <- read.csv("train.csv",header = T,
                   row.names = 1,
                   stringsAsFactors = F)

colnames(dt)

head(dt)


# ===============================================================


# ===============================================================



for (i in 1:dim(dt)[2]) {

  dt[,i] <- ifelse( dt[,i] > median( dt[,i]), 1, 0)
  
}

head(dt)



# ===============================================================


# ===============================================================


dt1 <- dt

 for (i in 1:dim(dt)[2]) {
  col_name1 <- paste0(names(dt)[i], '_low')
  dt1$col_name1 <- dt[,i]
  dt1$col_name1 <- ifelse(dt1$col_name1 == 0, 1,0)
  dt1[paste0(names(dt)[i], '_low')] = dt1$col_name1
  dt1$col_name1 <- NULL
  
  col_name2 <- paste0(names(dt)[i], '_high')
  dt1$col_name2 <- dt[,i]
  dt1$col_name2 <- ifelse(dt1$col_name2 == 1, 1,0)
  dt1[paste0(names(dt)[i], '_high')] = dt1$col_name2
  dt1$col_name2 <- NULL
 }
dt1 <- dt1[,-(1:dim(dt)[2])]
head(dt1)

输入数据

输出数据

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文解决如何提取TCGA配对表达矩阵

    一般来说,TCGA差异分析或者其他分析时,使用的是包含所有肿瘤样本和正常样本。但是,一般情况下,多数类型的TCGA肿瘤类型是肿瘤远远多于正常样本数量。这是因为有...

    用户1359560
  • 不同序列相似度和一致度对比(全局比对和局部比对)

    两条长度不同的序列做全局比对,然后计算全局比对中一致字符的个数和相似字符的个数,再除以全局比对的长度,就可以得到它们的一致度和相似度了。比如下面这两条序列:

    用户1359560
  • 使用IBS绘制蛋白质或核苷酸序列

    简介:生物序列图是可视化蛋白质或核苷酸序列中各种功能元件的基础。 在这里,我们介绍了一个称为IBS的软件包,该软件包可用于以方便和精确的方式表示蛋白质或核苷酸序...

    用户1359560
  • silverlight获取外部数据的另一种选择:FluorineFx

    Silverlight从其它系统获取外部数据的常规途径无非下面2种: 1、直接远程加载文本或xml文件 (直接请求ashx/aspx,然后在ashx/aspx上...

    菩提树下的杨过
  • Serverless 架构揭秘与静态网站部署实战(附实战源码)

    Serverless被誉为下一代云计算技术,因为其能带来研发交付速度提升与成本的降低在业内异常火爆。本文主要为大家分享 Serverless Framewor...

    腾讯云serverless团队
  • 分布式锁总结

    redis、数据库等实现的分布式锁,需要设置锁超时时间的原因在于:其他客户端无法得知已经获取锁的客户端的状态 是挂了呢,还是正在执行。所以只能傻傻的设置一个超时...

    Java编程指南
  • 实验室站迁移 Serverless 之路(上)|社区精选文章

    本文为 Serverless 社区成员撰稿。作者高晨远,研发工程师,熟悉 Python 开发,常写 Web 和爬虫,日常维护有个人博客和实验室两个站点。供稿请...

    腾讯云serverless团队
  • Serverless架构:用服务代替服务器

    还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了SaaS行业,并成为当今市值5...

    yuanyi928
  • [剑指offer][Java]调整数组顺序使奇数位于偶数前面

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位...

    后端技术漫谈
  • java归并排序(最精简代码)

    public class MergeSortTest { public void sort(int[] array, int left, int right)...

    闵开慧

扫码关注云+社区

领取腾讯云代金券