2015-10-14 2 views
1

Я создал кадр данных, как этотМесто вариограмма R

head(df) 
DISTBin MSDBin 
1  0 4.301515 
2  20 5.599879 
3  40 5.883236 
4  60 6.430584 
5  80 7.396374 
6  100 7.561652 

где первый столбец представляет собой вектор расстояний (Binned), а второй является вектором средних квадратов разностей для заданного количества.

Я хотел бы тогда подогнать df $ MSDBin ~ df $ DISTBin с использованием модели Гаусса.

Я не могу использовать gstat или подобное, так как у меня нет объекта вариограммы (мне приходилось самостоятельно вычислять вариограмму, чтобы отбросить пары из одного ID).

Любая помощь?

ответ

1

Я сам нашел ответ.

Gau <- function(h,tau,sigma.sq,range){ 
    return(tau + sigma.sq * (1-exp(-(h*h)/(range*range)))) 
} 

Gau_Fit <- nls(MSDBin ~ Gau(DISTBin,tau,sigma.sq,range), 
       data = df, 
       start = list(tau = 0, sigma.sq = 10, range = 1000))