Ik heb 2 variabelen, beide van class “numeric”:
> head(y)
[1] 0.4651804 0.6185849 0.3766175 0.5489810 0.3695258 0.4002567
> head(x)
[1] 59.32820 68.46436 80.76974 132.90824 216.75995 153.25551
Ik heb ze geplot, en nu zou ik een exponentieel model aan de data willen passen (en het aan de plot) maar ik kan geen informatie vinden over het aanpassen van modellen aan multivariate data in R! Alleen voor univariate gegevens, kan iemand helpen? Ik weet niet eens waar ik moet beginnen … Bedankt!
Reacties
- Dit is een beetje verwarrend. Je zegt dat je er twee hebt " onafhankelijke " variabelen (ik geef de voorkeur aan " voorspeller ", maar dat ' is niet belangrijk). Heeft u " afhankelijke " / " response " variabelen? Als dit beide responsvariabelen waren, kan ik me voorstellen dat een parametrische, bivariate kansverdeling (met of zonder voorspellende variabelen waarvan de distributie ' s parameters afhingen) – of een 2D-schatting van de kerneldichtheid. Misschien zou je de context wat meer kunnen uitleggen. (PS wie ' Als je de vraag opwaardeert, moet je weten wat het betekent … wil iemand meedoen?)
- In ieder geval ' d ga beter naar crossvalidated.com voor dergelijke vragen. of naar een obscure website genaamd Google. Het vond wel informatie over het aanpassen van modellen aan multivariate data. Heel veel (4 miljoen tweehonderddertigduizend om precies te zijn)
- Ik ' zou bing aanbevelen – het is tenslotte een beslissingsmotor, zoekmachines zijn tenslotte dus 20e eeuw … kijk maar naar Yahoo en Ask Jeeves, hoe irrelevant zijn ze vandaag?!?
- @Ben Bolker – Bedankt voor je hulp, ik heb de onafhankelijke eruit gehaald, want het was niet correct. Wat ik heb is de afstand tussen locaties (x) en correlaties van regenval tussen locaties (y)
- merk op dat je speciale methoden moet gebruiken als je statistische conclusies wilt trekken over deze gegevens, want als de afstanden werden berekend op een gemeenschappelijke reeks locaties, ze zijn niet onafhankelijk – zoek bijvoorbeeld voor " Manteltest "
Antwoord
Ik weet niet helemaal zeker wat je vraagt, omdat je jargon is uitgeschakeld. Maar als je aanneemt dat je variabelen niet onafhankelijk van elkaar zijn (als ze dat wel waren, dan ze zijn geen familie om te vinden). Ik zal het proberen. Als x
uw onafhankelijke (of voorspellende) variabele is en y
uw afhankelijke (of respons) variabele is, dan zou dit moeten werken.
# generate data beta <- 0.05 n <- 100 temp <- data.frame(y = exp(beta * seq(n)) + rnorm(n), x = seq(n)) # plot data plot(temp$x, temp$y) # fit non-linear model mod <- nls(y ~ exp(a + b * x), data = temp, start = list(a = 0, b = 0)) # add fitted curve lines(temp$x, predict(mod, list(x = temp$x)))
Reacties
- bedankt voor je antwoord, ik heb het woord onafhankelijk " uit, zoals je al aangaf, ' klopte niet. Door uw code voor mijn gegevens te gebruiken, kan ik het model aanpassen, maar het resultaat is tientallen lijnen in de grafiek in plaats van slechts één. Enig idee waarom?
- @sbg – Nee, sorry, ik kan ' geen reden bedenken waarom. Past
nls()
in een model? - Ik denk van wel, ik krijg: Niet-lineair regressiemodelmodel: y ~ exp (a + b * x) data: DF ab -0.535834 -0.002024 residuele som van kwadraten: 18.62 Aantal iteraties naar convergentie: 6 Bereikte convergentietolerantie: 8.08e-06
- @sbg probeer je
x
variabele:lines(sort(temp$x),predict(mod, list(x=sort(temp$x)))