在 R 中创建指示变量

Creating an indicator variable in R

我是 R 的新手,正在使用 R 中的 ALL 数据集,并尝试创建一个指示变量,为所有 T 细胞患者定义 =1,为所有 B 细胞患者定义 =2。这是我的代码:

library(ALL)
data(ALL)
tcell<-c("T","T1","T2","T3","T4")
bcell<-c("B","B1","B2","B3","B4")
ALL.fac <- factor(ALL$BT, levels=1:2, labels=c(tcell,bcell))
ALL.fac

我收到一条错误消息:

Error in factor(ALL$BT, levels = 1:2, labels = c(tcell, bcell)) : invalid 'labels'; length 10 should be 1 or 2

我不确定如何正确定义变量以使所有 T 细胞打印为 1,所有 B 细胞打印为 2。

建议?谢谢!

我们可以使用 sub 从 'BT' 中删除数字部分,然后更改级别

All.fac <- factor(sub('\d+', '', ALL$BT) ,
                levels=c('T', 'B'), labels=c(1,2))