I have a data frame like this:
df = read.table(text="REF Alt S00001 S00002 S00003 S00004 S00005
TAAGAAG TAAG TAAGAAG/TAAGAAG TAAGAAG/TAAG TAAG/TAAG TAAGAAG/TAAGAAG TAAGAAG/TAAGAAG
T TG T/T -/- TG/TG T/T T/T
CAAAA CAAA CAAAA/CAAAA CAAAA/CAAA CAAAA/CAAAA -/- CAAAA/CAAAA
TTGT TTGTGT TTGT/TTGT TTGT/TTGT TTGT/TTGT TTGTGT/TTGTGT TTGT/TTGTGT
GTTT GTTTTT GTTT/GTTTTT GTTT/GTTT GTTT/GTTT GTTT/GTTT GTTTTT/GTTTTT", header=T, stringsAsFactors=F)
I would like to replace the character elements separated by "/" with either "D" or "I", depending on the length of strings in columns "REF" and "Alt". If the elements match the longest one, they would be replaced by "I", otherwise replaced by "D". But no change for "-". So the result is expected as:
REF Alt S00001 S00002 S00003 S00004 S00005
TAAGAAG TAAG I/I I/D D/D I/I I/I
T TG D/D -/- I/I D/D D/D
CAAAA CAAA I/I I/D I/I -/- I/I
TTGT TTGTGT D/D D/D D/D I/I D/I
GTTT GTTTTT D/I D/D D/D D/D I/I