Seite 1 von 3
Frage zur for Schleife
Verfasst: Mi Jun 28, 2017 10:29 pm
von larsmu
Guten Abend ich hab ein Problem ich habe eine Tabelle in der Jahre, Preis und Menge drin stehen.
Nun möchte ich den Umsatz der Jahre 2005 - 2010 ausrechnen und in einer Tabelle einzeln nach Jahr gegliedert darstellen.
einzeln kann ich die Umsätze ausrechnen das ist kein Problem nur in der Schleife leider nicht.
Hier wäre die Berechnung eines Jahres:
"jahre<- which(tabelle[,"jahr"]== "2005")
jahren<- tabelle[jahre,]
umsatz5<-sum(jahren[,"menge"]*jahren[,"preis"])
umsatz5"
ich hab mich auch schon an der Schleife versucht, aber komme leider nicht auf das Ergebnis.
"ende<- c()
for (i in 1:6)
{
year<-which(tabelle[,"jahr"] == "i+2004")
datenyear<-tabelle[year,]
ende<-sum(datenyear[,"menge"]*datenyear[,"preis"])
}
ende"
Re: Frage zur for Schleife
Verfasst: Mi Jun 28, 2017 10:39 pm
von consuli
Wir brauchen zur Lösung Deines Problems die Struktur der Tabelle, namentlich die R Antwort auf den Befehl
Re: Frage zur for Schleife
Verfasst: Mi Jun 28, 2017 10:44 pm
von larsmu
> str(tabelle)
'data.frame': 270 obs. of 4 variables:
$ jahr : int 2005 2005 2006 2005 2005 2005 2005 2006 2005 2005 ...
$ staat: chr "Deutschland" "Deutschland" "Deutschland" "Deutschland" ...
$ preis: num 6.94 21.42 37.89 19.06 29.62 ...
$ menge: int 4 7 7 10 9 1 5 5 4 7 ...
Re: Frage zur for Schleife
Verfasst: Mi Jun 28, 2017 10:55 pm
von larsmu
Irgendwie ist bei dem R code etwas verloren gegangen :
er sieht eigentlich so aus
Code: Alles auswählen
ende<- c()
for (i in 1:6)
{
year<-which(tabelle[,"jahr"] == "i+2004")
datenyear<-tabelle[year,]
ende[<i>]<-sum(datenyear[,"menge"]*datenyear[,"preis"])
}
ende
Re: Frage zur for Schleife
Verfasst: Do Jun 29, 2017 7:14 am
von jogo
Hallo larsmu,
willkommen im Forum!
Bitte lies die Themen im Bereich FAQ
viewforum.php?f=20
besonders:
viewtopic.php?f=20&t=29
(sprich: verwende die Code-Formatierungen)
Code: Alles auswählen
tabelle$umsatz <- tabelle$preis * tabelle$menge
ende <- tapply(tabelle$umsatz, tabelle$jahr, FUN=sum)
oder
Code: Alles auswählen
ende <- with(tabelle, tapply(preis*menge, jahr, FUN=sum))
Gruß, Jörg
Re: Frage zur for Schleife
Verfasst: Do Jun 29, 2017 9:48 am
von larsmu
Vielen dank das hat mir sehr geholfen!
Re: Frage zur for Schleife
Verfasst: Do Jun 29, 2017 10:36 am
von larsmu
Nur noch eine Frage. Ich bekomme ja nun die Jahre oben heraus und die Umsätze darunter. Wie bekomme ich die Umsätze jetzt in einen Vektor und die Jahre in einen Vektor da ich gerne noch eine Regression machen möchte.
MfG Lars
Re: Frage zur for Schleife
Verfasst: Do Jun 29, 2017 10:40 am
von larsmu
2005 2006 2007 2008 2009 2010 2011 2012 2015 2016
2488.38 4509.80 2545.21 3988.94 5581.81 6189.44 6391.61 6236.95 6395.16 7536.19
Re: Frage zur for Schleife
Verfasst: Do Jun 29, 2017 11:56 am
von bigben
oder, besser noch,

Re: Frage zur for Schleife
Verfasst: Do Jun 29, 2017 12:25 pm
von larsmu
Aber dann bekomme ich doch nur 2 Vektoren angezeigt aber kann sie doch nicht weiter verwenden oder??
Hab mir sowas vorgestellt wie:
x<- c(2005,2006,2007,....)
y<-c(umsatz1,umsatz2,...)