这可能是超级平凡的,但我无法弄清楚。 我正在编写一个R脚本,用于清理/组织我的数据(仍在收集数据),以便一旦完成数据收集,我就会完成所有已写入的内容。 我遇到了因子变量的问题。种族/种族变量存储为数字:1 =白色,2 =黑色,3 =亚洲人,4 =西班牙裔,5 =其他。 眼下五大变化是这样的:指定因子变量
race <- c(1, 1, 3, 5, 2)
我想比赛变量转换成的因素,所以我尝试:
但我得到的错误:
Error in factor(race, labels = c("white", "black", "asian", "hisp",
"native", : invalid 'labels'; length 6 should be 1 or 4
我猜这是因为我说有6个标签,但在我的数据集中,只有6个可能结果中有4个是观察结果。 我相信这可以用levels参数来解决,但我无法弄清楚何时何地使用它。我试过
race.f <- factor(race, levels = c("white", "black", "asian", "hisp",
"native", "other"))
它刚刚创建了一堆NAS。 如果我碰巧从6个种族中的每个种族的至少一个人收集数据,我上面发布的代码将工作。但是,这不会保证会发生。在收集数据之前编写脚本时,我应该如何处理这个问题?我想要它来处理所有可能的结果。 谢谢!
或者你可以有标签参数一起使用水平'factor':'race.f < - 因子(种族,等级= 1:6,标签= C(”白色“,”黑色“,”亚洲“,”hisp“,”本地“,”其他“))。 – lmo
@lmo建议您单独作为答案。 – Gregor
@Imo我已经添加了你的建议谢谢! –