Ich versuche eine Methode zu finden, um die Anzahl der Elemente von Vektoren zu erhöhen, um den Winkeleffekt sichtbar zu entfernen, wenn ich die Werte dieser Vektoren plotten. Zum Beispiel, sagen wir, ich habe zwei Vektoren, die 10 Elemente, die jeweils:Erhöhung Vektorauflösung in R
a = c(4,2,10,5,3,4,8,9,6,2)
b = seq(0,4.5, by=0.5)
Sie unterliegen Datenglättung, aber ich möchte ihre „Auflösung“ erhöhen, um mehr Vorhersage Punkte als 10 (die Länge) zu erhalten. Also, mit anderen Worten, nehmen Sie den Vektor ein und doppelt (zum Beispiel) seine Anzahl von Elementen, während seine Konsistenz zu halten. Der resultierende Vektor sollte etwas sein wie:
a = c(4,3,2,6,10,7,5,4,3,4,6,8,8.5,9,7.5,6,4,2,2)
Natürlich, in diesem speziellen Fall, ich leicht den Durchschnitt der Elemente paarweise berechnen kann. Aber ich hätte gerne eine verallgemeinerte Methode für eine beliebige Länge. Ich habe versucht, mit:
seq(a[1],a[10], length.out=20)
aber natürlich nicht die Arbeit macht als nur das erste und das letzte Element des Vektors in Betracht gezogen werden. Es eignet sich jedoch für den zweiten Vektor b (der die Abszissenwerte enthält). Jede Hilfe wäre willkommen. Vielen Dank. Marius.
Es ist nicht ganz klar, was Sie unter "Konsistenz halten" verstehen? Passen Sie einfach in die Min- und Max-Werte von a? – Hansi
Sie können entweder 'splinefun' oder' carfun' mögen. –
Nein, um zwei aufeinanderfolgende Elemente von Vektor * a * zu erhalten und zwischen ihnen weitere 2 oder 3 oder ... egal Elemente hinzuzufügen, die gleichmäßig verteilt sind, aber den Trend der Vektor. Zum Beispiel, wenn anfänglich a [5] = 4 und a [6] = 7 und a [7] = 5, und ich füge weitere 2 Elemente zwischen a [5] und a [6] und zwischen a [6] und a [ 7] das Stück eines Vektors sollte a1 [5] = 4 sein; a1 [6] = 5, a1 [7] = 6, a1 [8] = 7, a1 [9] = 6,34, a1 [10] = 5,68, a1 [11] = 5 mit dem Anfangsbuchstaben a [5] = a1 [5], a [6] = a1 [8] und a [7] = a1 [11] – Marius