> imqd = read.csv("csv/quest/IMQ.csv")
> demod = read.csv("csv/DEMO.csv")
> mcqd = read.csv("csv/quest/MCQ.csv")
>
> length(demod)
[1] 145
> length(demod[[1]])
[1] 9965
> length(mcqd)
[1] 168
> length(mcqd[[1]])
[1] 9493
> length(imqd)
[1] 5
> length(imqd[[1]])
[1] 9965
>
> mydata = merge(imqd, demod)
> length(mydata)
[1] 148
> length(mydata[[1]])
[1] 9965
到目前爲止,這麼好。但是,如果我嘗試將mcqd
與任何東西合併,我會丟失大部分行,即使數據看起來不錯。R - 無法合併CSV,出於某種原因
> intersect(intersect(names(imqd), names(mcqd)), names(demod))
[1] "X" "seqn"
> finaldata = merge(mydata, mcqd)
> length(finaldata)
[1] 314
> length(finaldata[[1]])
[1] 18
爲什麼現在只有18行?
如果你想在家玩,你可以get the csv files here。
我想也許'merge'並不意味着你認爲這意味着什麼。它默認在所有匹配列上進行內部連接。任何不匹配的東西都會丟失,就像在sql中一樣。你可能想調查'by'和'all'的參數。 – joran
所有三個文件都有兩列幾乎完全相同。 –