数据格式转换 | 稀疏矩阵3列还原为原始矩阵/数据框,自定义函数 df3toMatrix()

1. 输入3列

只要前三列,第一列是行名,第二列是列名,第三列为值。

复制代码
> head(df.net2.order)
       from             to   strength type
12439 CSTF2 ENST0000056844 -0.6859788  neg
12015 CSTF2 ENST0000056190 -0.5153181  neg
11208 CSTF2          GAPDH -0.4570489  neg

2. 输出数据框

行为基因调控因子,列为基因表达,值为相关系数。

复制代码
> df.net2.df=df3toMatrix(df.net2.order)
> dim(df.net2.df)
[1]   27 4022
> df.net2.df[df.net2.df==0]=NA
> df.net2.df[1:4,1:5]
       ENST0000056844 ENST0000056190      GAPDH ENST0000063431       ARL6
CSTF2      -0.6859788     -0.5153181 -0.4570489     -0.4380417 -0.4351847
NUDT21             NA     -0.4719560 -0.4080007             NA -0.4125685
CPSF3      -0.4883905     -0.3955025 -0.4318929             NA -0.4517824
CPSF1              NA     -0.3722944 -0.3625508             NA -0.3016818

3. 转换函数

复制代码
# from 3 columns to matrix: col1-row, col2-col, col2-value
df3toMatrix=function(df3){
  rows.id=df3[,1] |> unique()
  cols.id=df3[,2] |> unique()
  
  output=data.frame(matrix(0, nrow=length(rows.id), ncol=length(cols.id)))
  rownames(output)=rows.id
  colnames(output)=cols.id
  
  for(i in 1:nrow(df3)){
    output[df3[i, 1], df3[i, 2]]=df3[i,3]
  }
  output
}

ref

相关推荐
Chef_Chen15 小时前
从0开始学习R语言--Day49--Lasso-Cox 回归
学习·回归·r语言
Rita的程序bug1 天前
R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)
开发语言·信息可视化·r语言
云云3212 天前
亚矩阵云手机:破解 Yandex 广告平台多账号风控难题的利器
网络·科技·线性代数·智能手机·矩阵
我想静静wwwwww3 天前
74.搜索二维矩阵
数据结构·算法·矩阵
快去睡觉~3 天前
力扣73:矩阵置零
算法·leetcode·矩阵
青春不败 177-3266-05203 天前
基于现代R语言【Tidyverse、Tidymodel】的机器学习方法与案例分析实践技术应用
深度学习·机器学习·支持向量机·r语言·集成算法
我.佛.糍.粑4 天前
Shusen Wang推荐系统学习 --召回 矩阵补充 双塔模型
人工智能·学习·机器学习·矩阵·推荐算法
爱吃涮毛肚的肥肥(暂时吃不了版)4 天前
剑指offer——模拟:顺时针打印矩阵
算法·leetcode·矩阵
医工交叉实验工坊4 天前
R 语言绘制 10 种精美火山图:转录组差异基因可视化
python·信息可视化·r语言
智算菩萨4 天前
传统机器学习在信用卡交易预测中的卓越表现:从R²=-0.0075到1.0000的华丽转身
人工智能·机器学习·r语言