我想合并/绑定两个数据集(mydata_103和mydata_17)。他们具有完全相同的变量名,但我得到这些警告消息用不同的类绑定数据集
Warning messages:
1: In `[<-.factor`(`*tmp*`, ri, value = c(1, 1, 2, 1, 1, 1, 1, 1, 5, :
invalid factor level, NA generated
这似乎是一个事实,即一些变量有不同类引起的4。例如,我有一个变量“性别”(1 =男性,2 =女性)。在合并的数据集中,我确实看到了mydata_17的值标签,但是对于其他数据集,我获得了NA。当我检查类,R返回它们是不同的(我不知道为什么是这样的话,虽然?)
> lapply(mydata_103[7], class)
$prgesl
[1] "numeric"
> lapply(mydata_17[7], class)
$prgesl
[1] "factor"
我改变的mydata_103的类因素
mydata_103$prgesl <- as.factor(mydata_103$prgesl)
现在,我获取数值,但它仍然不会转换为值标签:
prgesl
15 Man
16 Man
17 Vrouw
18 2
19 2
20 1
21 2
有没有人知道如何解决这个问题?有没有办法让我的两个数据集的类相同或检查哪些不同? (我有404个变量,因此通过视觉检查来检查这个变量似乎是无效的,并且容易出错)。
最佳,Hanneke
编辑:现在合并我的数据集的代码很简单:
data1 <- rbind.data.frame(mydata_17, mydata_103)
我会改变到第一数字在两个和'rbind()'回因子之后。 – mtoto
好的,但是我只留下数字值,但值标签更易于解读 - 是否有办法保留值标签? – HannekeLettinga
将因子列转换为字符,然后rbind,请参阅[此处](https://stackoverflow.com/a/2853231/680068)以仅转换因子列。 – zx8754