Je voudrais créer une matrice à partir d'un data frame qui contient une colonne avec le nombre de valeur souhaitées (N) et une autre colonne avec la valeur à répéter N fois (subvalue).
Code : Tout sélectionner
subvalue<-c(0.00, 0.00, 0.00, -0.01, 0.00, 0.01, 0.05, 0.04, 0.07, 0.06)
N<-c(3,3,2,5,7,3,2,4,5,1)
Data_gg<-cbind(subvalue,N)
Data_gg<-data.frame(Data_gg)
Data_gg
Je voudrais un résultat de ce type, avec le même nombre de lignes que mon dataframe d'origine, la répétition de mes valeurs et des NA là où je n'ai rien :
> result
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.00 0.00 0.00 NA NA NA NA
[2,] 0.00 0.00 0.00 NA NA NA NA
[3,] 0.00 0.00 NA NA NA NA NA
[4,] -0.01 -0.01 -0.01 -0.01 -0.01 NA NA
[5,] 0.00 0.00 0.00 0.00 0.00 0 0
[6,] 0.01 0.01 0.01 NA NA NA NA
[7,] 0.05 0.05 NA NA NA NA NA
[8,] 0.04 0.04 0.04 0.04 NA NA NA
[9,] 0.07 0.07 0.07 0.07 0.07 NA NA
[10,] 0.06 NA NA NA NA NA NA
J'ai testé différentes combinaisons avec matrix, apply et rep mais je ne trouve pas la bonne
Code : Tout sélectionner
rep(Data_gg$subvalue,Data_gg$N)
me donne les bonnes valeurs bout à bout
Code : Tout sélectionner
matrix(rep(Data_gg$subvalue,Data_gg$N),ncol=max(N))
me donne complètement autre chose
Auriez vous une idée svp?
Merci d'avance
Guillaume