如何将此数据帧转换为二进制格式?

时间:2019-06-29 13:03:33

标签: r sparse-matrix

下午好

我有这个数据框

> 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
> 

但是我不知道该怎么做

请帮忙吗?

1 个答案:

答案 0 :(得分:1)

尝试...

d $ cell.cell.adhesion <-df $ Go.Term ==“细胞-细胞粘附”

d $ organization <-d $ Go.Term ==“组织”

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

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

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

(在ipad或id上提供一个更大的示例),但这应该可以工作

  

示例   说我的数据框是:

ColA        ColB 
A               sun
B              moon

现在,我想创建一个新列(观测值),以检查是否存在值(“太阳”或“月亮”)

mydataframe $ NewCol <-mydataframe $ ColB ==“太阳”

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

ColA       ColB      NewCol
A          sun           TRUE
B          moon       FALSE