I have a df
looking like this:
EXP G NA NA NA NA
EXP D 1 NAME 2 NUMBER
EXP D 1 NAME 2 NUMBER
EXP G NA NA NA NA
EXP D 1 NAME 2 NUMBER
EXP D 1 NAME 2 NUMBER
df = data.frame(Exp = rep('EXP', 6),
Code = rep(c('G', 'D', 'D')),
Name.num = rep(c(NA, 1, 1)),
Name = rep(c(NA, 'NAME', 'NAME')),
Number.num = rep(c(NA, 2, 2)),
Number = rep(c(NA, 'NUMBER', 'NUMBER')))
And I would like to get an output like this:
EXP G NA NA
EXP D 1 NAME
EXP D 2 NUMBER
EXP G NA NA
EXP D 1 NAME
EXP D 2 NUMBER
Where in only one column I can have both (Numbers and names) in the same column.
Any suggestions?
So far I tried with reshape
based on the answer to this question since I do not want to use packages but I did not succeed.
df = reshape(df, direction = 'wide', varying = list(df)[c(4,6)],
idvar = c('Name.num', 'Number.num', 'Name', 'Number'))