我有一个如下数据框(行名是“ 1”,“ 2”,“ 3” ...)。由于每列中都有非唯一条目,因此我无法将其中任何一个分配为行名。
gene cell count
a c1 1
a c2 1
a c3 4
b c1 3
b c2 1
b c3 1
f c1 3
d c8 9
e c11 1
[每个基因在每个单元格中进行了测量(意味着它们在计数列中都有一个值),但未显示零计数(例如,基因“ a”在单元格c8和c11中具有零计数,因此不会出现)。
现在我要按照以下排列将数据帧重塑/转换为dgCMatrix
((基因作为行名,单元格作为列名,计数值作为数据点)
c1 c2 c3 c8 c11
a 1 1 4 . .
c 3 1 1 . .
其中“。”对应于零计数。
我尝试过重塑,reshape2,as.matrix,如此处许多文章所述,但没有成功。请帮助我解决这个特定示例。
最良好的祝愿,Tushar
这是标准long-to-wide transformation,最后还有一个额外步骤,可以将NA转换为'.'
library(dplyr)
df %>%
pivot_wider(gene, cell, values_from = count) %>%
mutate_if(is.numeric, ~ replace(., is.na(.), '.'))
# gene c1 c2 c3 c8 c11
# 1 a 1 1 4 . .
# 2 b 3 1 1 . .
# 3 f 3 . . . .
# 4 d . . . 9 .
# 5 e . . . . 1