【发布时间】:2018-09-18 21:11:46
【问题描述】:
我有一个看起来像这样的数据框,但包含更多的蛋白质
Protein z
Irak4 -2.46
Irak4 -0.13
Itk -0.49
Itk 4.22
Itk -0.51
Ras 1.53
对于进一步的操作,我需要将数据按 Proteinname 分组到这样的列中。
Irak4 Itk Ras
-2.46 -0.49 1.53
-0.13 4.22 NA
NA -0.51 NA
我尝试了不同的软件包,如 dplyr 或 reshape,但未能将数据转换为所需的格式。
有什么方法可以实现吗?我认为某些蛋白质的缺失数据点是这里的主要问题。
我对 R 很陌生,所以如果我错过了一个明显的解决方案,我深表歉意。
【问题讨论】:
-
在 base r 中使用
reshape可以做到这一点。即reshape(transform(df,gr=ave(z,Protein,FUN=seq_along)),v.names = 'z',timevar = 'Protein',idvar = 'gr',dir='wide') -
你可以使用
library(data.table);dcast(setDT(df),rowid(Protein)~Protein,value.var='z')
标签: r dataframe reshape missing-data