Afficher les résultats d'une fonction
Bonjour,
Dans une fonction R, je définis les valeurs de 3 variables à partir d'un tableau de données.
lig (ligne du tableau), nom (nom de l'individu concerné), val (valeur de la variable).
La dimension n de chacune de ces 3 variables est définie dans la fonction. Elle est identique pour les 3.
Dans une boucle, la fonction calcule lig[n] nom[n] et val[n]
Question
Les variables sont vides au début, mais il faut les définir ?? Si oui comment ? Actuellement, j'écris :
Code:
1 2 3 4
| lig <- list()
nom <- list()
as.character(nom)
val <- list() |
La boucle dans la fonction
Code:
1 2 3 4 5 6
| for (n in 1:nb) {
lig[n] <- leslignes[n] # identifier la ligne du tableau concernée
k <- as.integer(lig[n]) # la transformer en integer
nom[n] <- lesnom[k] # identifier le nom de l'individu
val[n] <- var[k] # identifier la valeur de la variable pour l'individu
} |
Question
Comment exporter le résultat ? J'aimerais avoir un tableau tel que ;
ligne lenom valeur
1 11 Jacques 1456.287
2 20 Alain 2834.055
3 23 Pierre 1557.581
4 74 Vincent 3249.326
5 95 Henri 1741.35
6 96 Irène 2810.594
7 97 George 1464.327
J'ai essayé plusieurs méthodes, mais aucune ne me satisfait. A la sortie de la boucle :
Code:
1 2 3 4 5
| resu <- list(lig, nom,val)
#resu <- list(ligne=lig, lenom=nom,valeur=val)
#resu <- data.frame(ligne=lig,lenom=nom,valeur=val)
# resu <- data.frame(lig,nom,val)
return(resu) |
Exemple avec resu <- list(lig, nom,val)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [[1]]
[[1]][[1]]
[1] 11
[[1]][[2]]
[1] 20
[[1]][[3]]
[1] 23
.............
[[3]][[5]]
[1] 1741.35
[[3]][[6]]
[1] 2810.594
[[3]][[7]]
[1] 1464.327 |
Merci à ceux qui auraient une idée pour me dépanner