我在R中编写了一个函数以列出患者特征。
如果我必须制表一个名义变量,那么在没有适用于不同类别的NA的情况下,它可以很好地工作。
例如:
我将Studyarm的Baseline中的NYHA类别列表化。
NYHA类通常具有类别“否”,“ NYHA I”,“ NYHA II”,“ NYHA III”,“ NYHA IV”,甚至可能是“未知的NYHA”。
在我的数据中,始终知道NYHA类(缺少“ NYHA不明”类别)。但是,在我的患者特征表(PCT)中,我还希望有一个类别为“ NYHA unknown”的行。
这段代码:
testvarlab = c("no HI","NYHA I","NYHA II","NYHA III","NYHA IV","NYHA unknown")
testvarf<-factor(testvar,labels=testvarlab[1:5]);class(testvarf);table(testvarf)
可以正常工作,但是我必须使用INDEX(这里[1:5])对标签进行编码。类别“ NYHA不明”缺失。
可以在其后添加:
levels(testvarf)<-testvarlab
由于硬索引标签,此解决方案没有用。我在招募期间使用此PCT检查数据。在正常情况下,开始时会缺少一些代码/标签。
所以我的问题很简单:
即使不是所有标签都实际使用,我如何用所有可能的标签定义一个因子?
感谢您的任何帮助!
沃尔克
最佳答案
将levels
自变量用于factor
(请参见?factor
),以提供所有可能的级别。
factor(testvar, levels=testvarlab)
关于r - 在R中默认创建一个具有更多实际水平的因子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31589261/