我在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/

10-09 16:35