Je dois parcourir certaines données comportant deux variables: la saison et l'école. Si je détiens la variable école fixe (ci-dessous), je peux l'obtenir en boucle pendant toute la saison je précise:Utilisation d'une variable chaîne dans une double boucle dans R
library(XML)
# parameters
first_season <- 2014
last_season <- 2015
# seasons
num_seasons <- as.numeric(last_season - first_season + 1)
seasons <- seq(first_season, last_season, by=1)
# defense
defense <- data.frame()
for (i in 1:num_seasons) {
url <- paste("http://www.sports-reference.com/cfb/schools/wisconsin/", seasons[i], ".html", sep = "")
df <- readHTMLTable(url,which=4, header=FALSE, stringsAsFactors=F)
df$season = seasons[i]
defense <- rbind(defense, df)
rm(df)
print(seasons[i])
}
Mon problème est que je ne sais pas comment ajouter a) un paramètre supplémentaire à boucle et b) comment gérer le paramètre s'il n'est pas numérique.
Ma liste des écoles est dans une table/colonne colleges$school
^
> head(colleges$school)
[1] "Air Force" "Akron"
[3] "Alabama" "Alabama-Birmingham"
[5] "Alameda Coast Guard" "Alcorn State"
^l'URL sera toujours lower(colleges$school)
avec -
remplaçant mais je peux contrôler pour cela.
Merci d'avance!
I a remplacé la seule ligne 'n de schools' avec' # écoles collèges <- as.data.frame (c ("Arizona State", "Michigan", "Wisconsin")) noms (collèges) <- "école" écoles <- unique (tolower (collèges $ école)) écoles <- gsub ("", "-", écoles) 'et j'obtiens l'erreur' Error in paste ("http: // www.sports-reference.com/cfb/schools/ ", school [j],: objet 'école' non trouvé' –
@FrankB simple typo: vous avez nommé la variable' schools' alors ajoutez simplement 's schools [j ] ' – wici
Ya, j'ai remarqué que par la suite, j'ai changé chaque instance de' schools' à 'school' sous la ligne' # schools' et j'ai l'erreur: 'Er ror dans data.frame (school_defense, defense): arguments impliquent un nombre différent de lignes: 0, 73' –