Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Hallo,
ich habe einen Datensatz mit Songs die von den Jahren 1979 - 2019 reichen.
In jedem dieser Jahre wurde eine bestimmte Punkteanzahl an verschiedene Songs vergeben.
Das Minimum an Punkten pro Song liegt hier bei 2 Punkten und das Maximum liegt bei 140 Punkten.
Ich möchte jetzt die Songs ausgeben, die mindestens 10 Punkte erreicht haben.
Kann mir hierzu jemand eine Hilfestellung geben, wie ich dies ausgeben kann?
Viele Grüße
Stefan
ich habe einen Datensatz mit Songs die von den Jahren 1979 - 2019 reichen.
In jedem dieser Jahre wurde eine bestimmte Punkteanzahl an verschiedene Songs vergeben.
Das Minimum an Punkten pro Song liegt hier bei 2 Punkten und das Maximum liegt bei 140 Punkten.
Ich möchte jetzt die Songs ausgeben, die mindestens 10 Punkte erreicht haben.
Kann mir hierzu jemand eine Hilfestellung geben, wie ich dies ausgeben kann?
Viele Grüße
Stefan
-
- Beiträge: 253
- Registriert: Di Jun 27, 2017 12:09 pm
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Gude!
Schau mal nach subset.
Dank&Gruß
Schubbiaschwilli
Schau mal nach subset.
Dank&Gruß
Schubbiaschwilli
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Hallo,
an der Stelle führen sehr viele Wege nach Rom. Klingt nach einer Hausaufgabe deshalb würde es auf dem Weg zur "richtigen" Lösung helfen zu wissen, was als letztes durchgenommen wurde. Hier ein paar Vorschläge, längst keine erschöpfende Liste:
LG,
Bernhard
an der Stelle führen sehr viele Wege nach Rom. Klingt nach einer Hausaufgabe deshalb würde es auf dem Weg zur "richtigen" Lösung helfen zu wissen, was als letztes durchgenommen wurde. Hier ein paar Vorschläge, längst keine erschöpfende Liste:
Code: Alles auswählen
songs <- data.frame(title = c("Auf dem dünnen Eis der Liebe",
"H E I M A T, ja das heißt Heimat",
"Ciao",
"Medley"),
url = c("https://youtu.be/VqStE7kLZo8",
"https://youtu.be/X9ON7l0ETzc",
"https://youtu.be/crlRbmH9bt4",
"https://youtu.be/0-hyxXXWGKg"
),
punkte = c(110, 2, 4, 10))
zeilen <- which(songs$punkte >= 10)
songs[zeilen,]
songs[songs$punkte >= 10,]
subset(songs, punkte >= 10)
for(i in 1:nrow(songs)){
if(songs[i, "punkte"] >= 10){
cat(songs[i, "title"])
cat(" @ ")
cat(songs[i, "url"])
cat("\n")
}
}
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Hallo Bernhard,
Danke dir für deine Mühe.
Es ist keine Hausaufgabe sondern eine Hausarbeit.
In dieser Form haben wird das so noch gar nicht durchgenommen.
Es geht hier um einen Datensatz den ich mir individuell ausgesucht habe und diesen nun analysiere.
Das hier ist der erste Teil des Datensatzes:
https://www.directupload.net/file/d/588 ... lh_jpg.htm
Ich habe es nun mit folgendem Code versucht:
# Punkte 80er Dekade
data_80er_Dekade <- subset(rankings, year==1980, 1981, 1982, 1983,
1984, 1985, 1986, 1987, 1988, 1989,
select = c(year, points))
Hier wurden mir aber nur die Punkte von 1980 ausgegeben.
Was habe ich hier falsch gemacht?
Viele Grüße
Stefan
Danke dir für deine Mühe.
Es ist keine Hausaufgabe sondern eine Hausarbeit.
In dieser Form haben wird das so noch gar nicht durchgenommen.
Es geht hier um einen Datensatz den ich mir individuell ausgesucht habe und diesen nun analysiere.
Das hier ist der erste Teil des Datensatzes:
https://www.directupload.net/file/d/588 ... lh_jpg.htm
Ich habe es nun mit folgendem Code versucht:
# Punkte 80er Dekade
data_80er_Dekade <- subset(rankings, year==1980, 1981, 1982, 1983,
1984, 1985, 1986, 1987, 1988, 1989,
select = c(year, points))
Hier wurden mir aber nur die Punkte von 1980 ausgegeben.
Was habe ich hier falsch gemacht?
Viele Grüße
Stefan
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Danke für die Hilfestellung.
Ich habe es mit diesem Code hinbekommen:
data_neu <- subset(rankings, year>1979 & year <1990,
select = c(year, points))
Jetzt sind die Daten allerdings noch sehr durcheinander.
Gibt es noch einen Tipp, wie man die Punkte der Jahreszahlen zusammenfassen kann und diese von 1980 an aufsteigend sind?
Viele Grüße
Stefan
Ich habe es mit diesem Code hinbekommen:
data_neu <- subset(rankings, year>1979 & year <1990,
select = c(year, points))
Jetzt sind die Daten allerdings noch sehr durcheinander.
Gibt es noch einen Tipp, wie man die Punkte der Jahreszahlen zusammenfassen kann und diese von 1980 an aufsteigend sind?
Viele Grüße
Stefan
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Danke Bernhard, hat super geklappt.
Mir wird jetzt diese Datenreihe ausgegeben.
year points
200 1980 6
305 1980 2
4 1982 90
35 1982 18
76 1983 10
101 1983 10
153 1983 6
36 1984 18
233 1985 4
37 1986 18
187 1986 6
189 1986 6
12 1987 36
71 1987 10
98 1987 10
122 1987 8
147 1987 8
295 1987 2
15 1988 32
27 1988 22
56 1988 12
77 1988 10
107 1988 8
178 1988 6
204 1988 4
212 1988 4
2 1989 100
93 1989 10
140 1989 8
150 1989 8
168 1989 6
222 1989 4
Nach der Eingabe des Codes:
tally(year~points, data = data_80er_Dekade)
Habe ich folgende Anzeige:
points
year 2 4 6 8 10 12 18 22 32 36 90 100
1980 1 0 1 0 0 0 0 0 0 0 0 0
1982 0 0 0 0 0 0 1 0 0 0 1 0
1983 0 0 1 0 2 0 0 0 0 0 0 0
1984 0 0 0 0 0 0 1 0 0 0 0 0
1985 0 1 0 0 0 0 0 0 0 0 0 0
1986 0 0 2 0 0 0 1 0 0 0 0 0
1987 1 0 0 2 2 0 0 0 0 1 0 0
1988 0 2 1 1 1 1 0 1 1 0 0 0
1989 0 1 1 2 1 0 0 0 0 0 0 1
>
Zur Vereinfachung möchte ich jetzt noch die Daten so anzeigen lassen, dass die summierte Punktezahl des jeweiligen Jahres ausgegeben werden.
Gibt es hierzu eine einfache Lösung?
Viele Grüße
Stefan
Mir wird jetzt diese Datenreihe ausgegeben.
year points
200 1980 6
305 1980 2
4 1982 90
35 1982 18
76 1983 10
101 1983 10
153 1983 6
36 1984 18
233 1985 4
37 1986 18
187 1986 6
189 1986 6
12 1987 36
71 1987 10
98 1987 10
122 1987 8
147 1987 8
295 1987 2
15 1988 32
27 1988 22
56 1988 12
77 1988 10
107 1988 8
178 1988 6
204 1988 4
212 1988 4
2 1989 100
93 1989 10
140 1989 8
150 1989 8
168 1989 6
222 1989 4
Nach der Eingabe des Codes:
tally(year~points, data = data_80er_Dekade)
Habe ich folgende Anzeige:
points
year 2 4 6 8 10 12 18 22 32 36 90 100
1980 1 0 1 0 0 0 0 0 0 0 0 0
1982 0 0 0 0 0 0 1 0 0 0 1 0
1983 0 0 1 0 2 0 0 0 0 0 0 0
1984 0 0 0 0 0 0 1 0 0 0 0 0
1985 0 1 0 0 0 0 0 0 0 0 0 0
1986 0 0 2 0 0 0 1 0 0 0 0 0
1987 1 0 0 2 2 0 0 0 0 1 0 0
1988 0 2 1 1 1 1 0 1 1 0 0 0
1989 0 1 1 2 1 0 0 0 0 0 0 1
>
Zur Vereinfachung möchte ich jetzt noch die Daten so anzeigen lassen, dass die summierte Punktezahl des jeweiligen Jahres ausgegeben werden.
Gibt es hierzu eine einfache Lösung?
Viele Grüße
Stefan
Re: Nur Variablen mit einer bestimmten Punkteanzahl ausgeben
Summen von Reihen in data.frames erhält man mit rowSums():
Dabei musst Du natürlich aufpassen, dass Du die Jahreszahl nicht mit addierst.
LG,
Bernhard
Code: Alles auswählen
bsp <- data.frame(a = 1:4,
b = 1:4,
c = 1:4)
bsp$Reihensumme = rowSums(bsp)
bsp
Dabei musst Du natürlich aufpassen, dass Du die Jahreszahl nicht mit addierst.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte