Probablement un tidyr
ou un reshape2
question.
J'ai ce type de data.frame
:
df <- data.frame(group = c("A","B","C","D"),
id1 = c("AV14D","BV29",NA,NA),
id2 = c(NA,"BD1",NA,NA),
id3 = c("AJ31","BJ1",NA,NA),
n = c(2,4,NA,NA),
stringsAsFactors = F)
qui a une ligne avec 3 ID et un compte pour chaque groupe.
Je veux le transformer en une seule ligne data.frame
avec #groupes x 4 ( id1
, id2
, id3
, n
), où chaque groupe a 4 colonnes : <group>_id1
, <group>_id2
, <group>_id3
y <group>_n
et les valeurs correspondantes.
Donc le résultat data.frame
le sera :
data.frame(A_id1 = "AV14D",A_id2 = NA,A_id3 = "AJ31",A_n = 2,
B_id1 = "BV29",B_id2 = "BD1",B_id3 = "BJ1",B_n = 4,
C_id1 = NA,C_id2 = NA,C_id3 = NA,C_n = NA,
D_id1 = NA,D_id2 = NA,D_id3 = NA,D_n = NA,
stringsAsFactors = F)