数据格式转换 | 稀疏矩阵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

相关推荐
WoShop商城源码12 分钟前
快手矩阵系统源码:技术优势解析
人工智能·线性代数·矩阵
statistican_ABin39 分钟前
R语言数据分析案例40-华安中证基金多元线性回归和分析预测
数据分析·r语言·线性回归
dot.Net安全矩阵1 小时前
.NET 漏洞情报 | 某整合管理平台SQL注入
数据库·sql·安全·矩阵·.net
Tech Synapse15 小时前
R语言ggplot怎么在热图上标注相关系数
开发语言·r语言·相关系数·热图
新榜有数15 小时前
小红书多账号管理平台哪个好用?可以快速监测多个小红书账号的数据吗?
矩阵·新媒体运营
迅狐源码工厂20 小时前
TikTok短视频矩阵系统
线性代数·矩阵
云微客AI剪辑矩阵系统20 小时前
矩阵新玩法,云微客AI矩阵系统开启新营销大门
人工智能·ai·矩阵·云微客
半夏知半秋1 天前
R语言学习与笔记2-R&RStudio环境配置(Windows版)
笔记·学习·r语言
Victory_orsh1 天前
R可视化数据必要格式——长格式
大数据·笔记·学习·r语言
天桥下的卖艺者1 天前
R语言fastshap包进行支持向量机shap可视化分析
开发语言·支持向量机·r语言