我想合併/綁定兩個數據集(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