For Schleife mit vorgegebener Anzahl

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
m.wuerz
Beiträge: 4
Registriert: Sa Mär 06, 2021 11:46 am

For Schleife mit vorgegebener Anzahl

Beitrag von m.wuerz »

Hallo Zusammen,

ich versuche bereits seit Tagen eine for-Schleife zu konstruieren, deren Anzahl an Wiederholungen über die Zelle aus einem Datensatz determiniert wird. Ist es möglich, dass sich die Anzahl der Wiederholungen einer for-Schleife nach der Zahl eines Zellenwertes bestimmt?

Viele Grüße und Danke für Tipps
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: For Schleife mit vorgegebener Anzahl

Beitrag von Athomas »

Ist es möglich, dass sich die Anzahl der Wiederholungen einer for-Schleife nach der Zahl eines Zellenwertes bestimmt?
Ja!
m.wuerz
Beiträge: 4
Registriert: Sa Mär 06, 2021 11:46 am

Re: For Schleife mit vorgegebener Anzahl

Beitrag von m.wuerz »

Athomas hat geschrieben: Sa Mär 06, 2021 1:48 pm
Ist es möglich, dass sich die Anzahl der Wiederholungen einer for-Schleife nach der Zahl eines Zellenwertes bestimmt?
Ja!

Und wie würde so ein Befehl lauten?
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: For Schleife mit vorgegebener Anzahl

Beitrag von Athomas »

Gib doch bitte mal eine verwertbare Situation an, auf der man ein Beispiel aufbauen kann!
m.wuerz
Beiträge: 4
Registriert: Sa Mär 06, 2021 11:46 am

Re: For Schleife mit vorgegebener Anzahl

Beitrag von m.wuerz »

Athomas hat geschrieben: Sa Mär 06, 2021 2:23 pm Gib doch bitte mal eine verwertbare Situation an, auf der man ein Beispiel aufbauen kann!
Kapital<-280000
for(i in 1:39){
print(Kapital<-Kapital+Kapital*(0.04875/12)-1482)
}

Ich möchte für mehrere Datensätze (Kredite) berechnen, wie hoch die restliche Kreditsumme nach einer bestimmten Zeit ist. Dabei sind Laufzeiten, als auch Zinssätze unterschiedlich.
Für diesen Kredit hatte ich eine Laufzeit von 39 Monaten und einen Zinssatz pro Jahr von 0,04875 ´%.
Pro Kredit sind folgende Werte vorhanden: Laufzeit (in Monaten), der Zinssatz und die Höhe der ursprünglichen Kreditsumme.
Ich würde beispielsweise wollen, dass die for-Schleife für einen Kredit mit 12 Monaten nur 12 Wiederholungen macht bzw. sich diesen Wert aus der Spalte "Laufzeit" nimmt.

Grüße und Danke für deine Zeit!
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: For Schleife mit vorgegebener Anzahl

Beitrag von Athomas »

Dann nimm doch "Laufzeit" als Obergrenze der for-Schleife!?

Den Rest - ob der monatliche Zins so korrekt berechnet ist, und ob man das Ergebnis nicht direkt (ohne Iteration) berechnen kann - lassen wir mal außen vor...
m.wuerz
Beiträge: 4
Registriert: Sa Mär 06, 2021 11:46 am

Re: For Schleife mit vorgegebener Anzahl

Beitrag von m.wuerz »

Athomas hat geschrieben: Sa Mär 06, 2021 3:04 pm Dann nimm doch "Laufzeit" als Obergrenze der for-Schleife!?

Den Rest - ob der monatliche Zins so korrekt berechnet ist, und ob man das Ergebnis nicht direkt (ohne Iteration) berechnen kann - lassen wir mal außen vor...

Habe die Ergebnisse schon approximativ bestimmt. Möchte dies aber nun auch über R hinbekommen.

so?:

Kapital<-280000
for(i in 1:Kredite$'Laufzeit'[1]{
print(Kapital<-Kapital+Kapital*(0.04875/12)-1482)
}

Ich möchte ja nur, dass der Wert der ersten Spalte "Laufzeit" als Obergrenze genommen wird.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: For Schleife mit vorgegebener Anzahl

Beitrag von bigben »

Hallo m.wuerz,

nach der Zahl eines Zellenwerts richtet sich in R erstmal gar nichts, weil Zellen etwas sind, was es in Tabellenkalkulationsprogrammen gibt, aber nicht in R. Natürlich kann man die Zahl der Schleifendurchläufe einer for-Schleife im Programm anpassen, aber um Dir zu zeigen wie das geht macht es Sinn zu wissen, wie die Daten bei Dir vorliegen. Sinnvoll wäre beispielsweise eine geschachtelte Schleife, die so aussehen könnte:

Code: Alles auswählen

monate = c(12, 6, 24) # drei Kreditnehmer mit drei verschiedenen Laufzeiten
kapital = c(1000, 2000, 3000) # für jeden ein anderer Startwert

for(kunde in 1:3){
  cat("\nKunde ")
  cat(kunde)
  cat(":\n")
  Kapital <- kapital[kunde] # vorsicht klein- und GROSS-Schreibung
  for(monat in 1:monate[kunde]){
    print(Kapital <- Kapital + Kapital*(0.04875/12)-1482)
  }
}
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten