【发布时间】:2016-02-14 19:30:53
【问题描述】:
我有一个名为“国籍”的向量,它在我的数据框 (df) 中指示受访者的国籍。然而,问题在于它目前是一个从 1 到 193 的整数向量。我有另一个名为“标签”的行向量,其中包含每个国籍的标签(即第一列显示“阿富汗”,第二列显示“阿尔巴尼亚” , ETC。)。我想要做的是将“国籍”向量转换为一个因子并用标签替换它的数值。我试过这个:
df$nationality <- as.factor(df$nationality)
labels2 <- names(labels)
levels(df$nationality) <- labels2
但它不起作用:(
请帮忙。提前致谢!
【问题讨论】:
-
你可以试试
factor(labels[nationality]) -
我试过了,但是没有用。还有什么想法吗??
-
为您的问题和所需输出提供一个可重现的小示例。请参阅here 了解如何创建它
-
set.seed(1); a <- sample(1:10); b <- letters[1:10]; factor(a,labels=b)给出[1] c d e g b h i f j a。你在寻找这样的东西吗?