Nie wiem, dlaczego dcast () ten zestaw danych powoduje spadek zmiennych

Mam ramkę danych, która wygląda jak:

   id fromuserid touserid from_country to_country length
1   1   54525953 47195889           US         US      2
2   2   54525953 54361607           US         US      1
3   3   54525953 53571081           US         US      2
4   4   41943048 55379244           US         US      1
5   5   47185938 53140304           US         PR      1
6   6   47185938 54121387           US         US      1
7   7   54525974 50928645           GB         GB      1
8   8   54525974 53495302           GB         GB      1
9   9   51380247 45214216           SG         SG      2
10 10   51380247 43972484           SG         US      2

Każdy wiersz opisuje liczbę wiadomości (długość) wysłanych od jednego użytkownika do innego użytkownika.

Chciałbym stworzyć wizualizację (za pomocą diagramu akordów w D3) wiadomości wysyłanych między poszczególnymi krajami.

Istnieje prawie 200 krajów. Używam funkcji dcast w następujący sposób:

countries <- dcast(chats,from_country ~ to_country,drop=FALSE,fill=0)

To działało wcześniej dla mnie, gdy miałem mniejszy zestaw danych i mniej zmiennych, ale ten zestaw danych ma ponad 3M wierszy i niełatwo jest go debugować.

W każdym razie otrzymuję teraz matrycę, która nie jest kwadratowa i nie mogę zrozumieć, dlaczego nie. Spodziewam się uzyskać zasadniczo macierz, w której(i,j)th komórka reprezentuje wiadomości wysłane zcountry i docountry j. To, z czym kończę to coś bardzo bliskiego, ale oczywiście brakuje niektórych wierszy i kolumn, co jest łatwe do zauważenia, ponieważ wiadomości US-> US pojawiają się przesunięte o jeden wiersz lub kolumnę.

Oto moje pytanie. Czy jest coś, co robię, co jest oczywiście błędne? Jeśli nie, czy jest coś „dziwnego”, którego powinienem szukać w zestawie danych, aby to rozwiązać?

questionAnswers(1)

yourAnswerToTheQuestion