Also habe ich einen Datenrahmen von Leuten Namen, Alter und ihre Lieblingsfilme gemacht. Ich möchte ein Programm schreiben, das auf den Datenrahmen wirkt, um mir das Durchschnittsalter jeder Person mit einem bestimmten Lieblingsfilm zu geben. Hier ist was ich habe.Arbeiten mit R-Datenrahmen
persons <- list(firstName = c("Steve","Bob","Bill","Chris","Matt","Evan"), lastName = c("Williams","Barker","Barker","Williams","Stevenson","Parker"), age = c(22,30,41,14,9,93), favoriteMovie = c("Alien","The Shining","The Shining","Halloween","Alien","Alien"))
d1 <- data.frame(persons$firstName,persons$lastName,persons$age,persons$favoriteMovie)
d1
persons.firstName persons.lastName persons.age persons.favoriteMovie
1 Steve Williams 22 Alien
2 Bob Barker 30 The Shining
3 Bill Barker 41 The Shining
4 Chris Williams 14 Halloween
5 Matt Stevenson 9 Alien
6 Evan Parker 93 Alien
So kann ich es tut mit einer Schleife von if-Anweisungen, aber ich glaube nicht, das der effizienteste Weg, dies zu tun. Ich bin sicher, es gibt eine Art, Werte herauszufiltern, aber ich bin mir nicht sicher.
'Mittelwert (d1 [d1 $ persons.favoriteMovie == "Alien", "persons.age"]), verwenden' –
auch 'tapply (d1 $ Personen. Alter, d1 $ persons.favoriteMovie, mean) '. Eine oder nur eine der verfügbaren Methoden sollte in dem einleitenden Material illustriert worden sein, das Sie studieren sollten. Das kanonische Material wird in "Introduction to R" mit jeder von CRAN gesendeten Kopie geliefert. Dies ist sicherlich auch eine doppelte SO Frage. –
Ich empfehle Ihnen einen Blick auf das [Quick-R-Tutorial] (http://statmethods.net/). Es gibt gute Erklärungen zu verschiedenen Möglichkeiten, mit Daten zu arbeiten. Genauer gesagt, überprüfen Sie die 'Basic Statistics' Abschnitt – Barranka