Forum: PC-Programmierung R - Statistik: Vektorelemente "replacen"


von Daniel R. (sparker)


Lesenswert?

Hallo,

ich habe ein kleines Problem, wo ich bisher keine Lösung gefunden hatte.

Ich habe einen Vektor, wo Winkel drinstehen und ich möchte alle Winkel x 
über 180 (°) durch (x-360) ersetzen.

So etwas funktioniert nicht richtig, da er den ganzen Vektor 
subtrahieren will - aber wie wird das entsprechende Element selektiert, 
das über 180 ist und entsprechend richtig subtrahiert?

angle_vector_corrected<-replace(angle_vector,angle_vector>180,angle_vect 
or-360)

Warning message:
In x[list] <- values :
  number of items to replace is not a multiple of replacement length

von N. M. (mani)


Lesenswert?

Ich würde an deiner Stelle noch mindestens das Programm oder die 
Programmiersprache erwähnen ;-)

von Daniel R. (sparker)


Lesenswert?

N. M. schrieb:
> Ich würde an deiner Stelle noch mindestens das Programm oder die
> Programmiersprache erwähnen ;-)

"R" - steht in der Überschrift!

von N. M. (mani)


Lesenswert?

Daniel R. schrieb:
> "R" - steht in der Überschrift!

Hast Recht. Übersehen.

von Jim M. (turboj)


Lesenswert?

Versuche es mal mit apply() oder lapply().

von Daniel R. (sparker)


Lesenswert?

Jim M. schrieb:
> Versuche es mal mit apply() oder lapply().

Ja, so etwas klappt:
sapply(angle_vector, function(x) {ifelse(x>180,x-360,x)})

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.