首页 > 解决方案 > 如何将此数据帧转换为二进制形式?

问题描述

下午好

我有这个数据框

> head(d)
  Gene.Name                  GO.term
1     EPCAM       cell-cell adhesion
2     CDH17            cell adhesion
3    LGALS4            cell adhesion
4    GPRC5A       cell-cell adhesion
5     KRT18       cell-cell adhesion
6      SOX9 cytoskeleton organsation
> 
CGN cell-cell adhesion

> unique(d$GO.term)
[1] cell-cell adhesion       cell adhesion           
[3] cytoskeleton organsation oxidation-reduction     
4 Levels: cell-cell adhesion ... oxidation-reduction
> 

我想要像下面这样的东西,如果一个基因在一个 GO.term 中,如果不是 0,则达到 1

> head(d[,1:2])
                             cell adhesion cytoskeleton organsation
AQP9                                          0               1
AXIN2                                         1               0
BCL6                                          1               0
BMP7                                          1               0
C5AR1                                         0               1
CCL2                                          0               1
> 

但我不知道该怎么做

请问有什么帮助吗?

标签: rsparse-matrix

解决方案


尝试...

d$cell.cell.adhesion<-df$Go.Term == “细胞-细胞粘附”<br> …<br> d$organization<-d$Go.Term==“组织”</p>

为 group 中的每个创建新列。返回值是合乎逻辑的(如果需要,您可以将其转换为整数)

*将所有 T/F 值转换为整数 [1,0]

#where ‘d’ is your data.frame
d*1 

(在 ipad 或 id 上给出一个更大的例子)但这应该工作

示例说我的数据框是:

ColA        ColB 
A               sun
B              moon

现在,我想创建一个新列(观察)来检查值的存在(“太阳”或“月亮”)

mydataframe$NewCol<-mydataframe$ColB=='sun'</p>

更新数据框包含一个新列:

ColA       ColB      NewCol
A          sun           TRUE
B          moon       FALSE

推荐阅读