下午好
我有这个数据框
> 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
>
但是我不知道该怎么做
请帮忙吗?
答案 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