【发布时间】:2017-08-14 21:00:41
【问题描述】:
我想将命名向量转移到矩阵并填充缺失值(用 0 填充)。
例如,我有一个这样的数据框:
col1 col2 col3
Cancer1 Gene1 2.1
Cancer1 Gene2 2.51
Cancer1 Gene3 3.0
Cancer2 Gene1 0.9
其中有两列名称:col1 和 col2。然后我想把它转换成一个矩阵,比如:
Cancer1 Cancer2
Gene1 2.1 0.9
Gene2 2.51 0
Gene3 3.0 0
如果向量中有缺失值,用0填充。
如何在 R 中有效地做到这一点?
【问题讨论】:
-
在我看来您想将 data.frame 转换为矩阵...
-
是的。它是一个 data.frame,但只有一列值。其他的是名字。
-
tidyr::spread(mydata, col1, col3) -
你想要
xtabs(col3 ~ col1 +clo2, data=your.data.frame.name)。这将返回一个从矩阵类继承方法的表对象。 -
@42-
xtabs(col3 ~ col2 +col1, data=your.data.frame.name)将正是 OP 想要的。 (行中的基因和列中的癌症)
标签: r matrix dataframe reshape