O `nls` falha ao estimar os parâmetros do meu modelo

Eu estou tentando estimar as constantes para a lei Heaps. Eu tenho o seguinte conjunto de dadosnovels_colection:

  Number of novels DistinctWords WordOccurrences
1                1         13575          117795
2                1         34224          947652
3                1         40353         1146953
4                1         55392         1661664
5                1         60656         1968274

Então eu construo a próxima função:

# Function for Heaps law
heaps <- function(K, n, B){
  K*n^B
}
heaps(2,117795,.7) #Just to test it works

assimn = Word OccurrenceseK eB são valores que devem ser constantes para encontrar minha previsão de palavras distintas.

Eu tentei isso, mas isso me dá um erro:

fitHeaps <- nls(DistinctWords ~ heaps(K,WordOccurrences,B), 
    data = novels_collection[,2:3], 
    start = list(K = .1, B = .1), trace = T)

Erro =Error in numericDeriv(form[[3L]], names(ind), env) : Missing value or an infinity produced when evaluating the model

Alguma idéia de como eu poderia corrigir esse ou um método para ajustar a função e obter os valores paraK eB?

questionAnswers(2)

yourAnswerToTheQuestion