Ich habe einen Datensatz archivo
die Preise von Anleihen für jede Dauer der Regierung Auktionen enthalten seit 2003. Die ersten Reihen sind:Fitting logarithmische Kurve in einem Datensatz
Fecha 1 2 3 4 5 6 7 8 9 10 11 12 18 24
2003-01-02 NA NA NA NA NA 44.9999 NA NA 52.0002 NA NA NA NA NA
2003-01-03 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
2003-01-06 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
2003-01-07 NA NA NA NA NA 40.0000 NA NA 45.9900 NA NA NA NA NA
2003-01-08 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
2003-01-09 NA NA NA NA NA 37.0000 NA NA 41.9999 NA NA NA NA NA
Jede Spalte 1 bis 24 entspricht benannt eine andere Dauer. (1 Monat, 2 Monate, ..., 24 Monate). Nicht alle Dauern werden am Auktionsdatum verkauft. Deshalb habe ich NA
s.
Ich brauche die NA
s (fehlende) Raten mit einer Log-Fit-Kurve für jede Zeile, die mindestens mehr als 1 Wert hat. Für die Zeilen, die alle NA
s haben, kann ich nur die vorher erstellte Kurve verwenden.
Ich bin bewusst, dass ich einen Code wie laufen konnte:
x<-colnames(archivo[,-1]) # to keep the durations
y<-t(archivo[1,-1])
estimacion<-lm(y ~ log(x))
param<-estimacion$coefficients
und erhalten die Koeffizienten für die erste Reihe. Dann führe eine Schleife aus und mach das für jede Zeile.
Gibt es eine Möglichkeit, es direkt mit dem gesamten Dataset zu tun und die Parameter jeder Zeile (jede Log-Anpassung) zu erhalten, ohne eine Schleife zu machen?
Hoffe die Frage ist klar genug.
Vielen Dank im Voraus!
Netter Ansatz. Obwohl gibt mir: Fehler in lm.fit (Matrix (c (rep (1, 24), log (1:24)), ncol = 2) [non_NA,],: inkompatible Abmessungen –
Great Job Ist das, was ich gesucht habe. Danke. Jetzt kann ich die Kurven für jedes Auktionsdatum berechnen. Für die fehlende Auktion werde ich vorangehen. Nette Arbeit! –
Oh Entschuldigung! Wusste nicht, dass ich bereits 15 Wiederholungen habe Natürlich! Ich mache es gerade. Danke Li –