2012-09-27 3 views
5

Próbuję znaleźć słowa związane z określonym słowem w termicznej macierzy dokumentów przy użyciu pakietu tm.Problemy z findAssocs z pakietu tm

Do tego celu używam findAssocs. Argumenty dla findAssocs to:

  • x: Macierz terminów dokumentów.
  • termin: Postać trzymająca termin.
  • corlimit: Wartość liczbowa dla dolnego ograniczenia granicy korelacji.

ja konsekwentnie coraz numeric(0) jak mój wynik

Przykład:

findAssocs(test.dtm, "investment", 0.90) 
>numeric(0) 

Czy ktoś ma znajomości findAssocs i wiem, co robię źle? A może ktoś wie szerzej, co może oznaczać wynik?

Z góry dziękuję bardzo za pomoc.

+0

Jestem pewien, że gdybyś dostarczył powtarzalny przykład, sam byś to zrozumiał. –

+0

Nie jestem pewien, dlaczego to pytanie otrzymuje nagrodę, jest już doskonale dobra odpowiedź: próg jest zbyt wysoki, więc żadne słowo nie jest powiązane – scoa

Odpowiedz

2

Ten wynik wskazuje, że w 0.90 dokumentach nie ma słów powiązanych terminem "inwestycja". Wypróbuj niższy próg, na przykład 0,05, i przejdź do progu, który daje mniej terminów.

2

Otrzymuję ten sam numeric(0), myślę, że to dlatego, że w moim Corpus jest tylko jeden dokument, więc document term matrix ma tylko jedną kolumnę. Możesz przetestować TermDocumentMatrix() i sprawdzić, czy masz multi-column matrix. To powiedziawszy, jak znaleźć skojarzenie w jednym dokumencie ?.

+1

To w rzeczywistości nie jest odpowiedź. – Dason

+0

@Dason, zgadzam się, ale jest to przydatna wskazówka. Wobec tego samego komunikatu o błędzie przetestowałem twierdzenie, że 'findAssocs' nie działa, gdy w tdm jest tylko jeden dokument, ale działa dobrze, gdy jest więcej niż jeden dokument. – Ben

0

Wygląda na to, że ta funkcja działa tylko podczas analizowania wielu dokumentów tekstowych. Jedynym rozsądnym rozwiązaniem, jakie wymyśliłem, jest utworzenie duplikatu dokumentu tekstowego, a następnie przeprowadzenie analizy. Nie jest jednak pewne, czy zmienia to wyniki w jakikolwiek sposób. Wszelkie dodatkowe uwagi będą mile widziane.