I am trying to iterate over 1 column in my dataframe. I would like code to run on each row with a string length of 12. If it is not of character length 12, run else. OSGB_trim is a character.
I am a bit confused, I have looked into use nchar, character, str_length and have attemped to split the string too but have not been able to work out where I am going wrong.
i is printing as 1915 which is the length of OSGB_trim. It is not isolating the character values that equal to 12.
for (i in 1:length(HIWARG$OSGB_trim)){
if (str_length(HIWARG$OSGB_trim) [i] == 12){
print(i)
HIWARG$GR1 [i]<- substring(HIWARG$OSGB_trim,1,2)
HIWARG$GR2 [i]<- substring(HIWARG$OSGB_trim,3,4)
HIWARG$GR3 [i]<- str_sub(HIWARG$OSGB_trim, 5,7)
HIWARG$GR4 [i]<- str_sub(HIWARG$OSGB_trim, 8,9)
HIWARG$GR5 [i]<- str_sub(HIWARG$OSGB_trim,10,12)
}
else{
HIWARG$GR1 [i]<- substring(HIWARG$OSGB_trim,1,2)
HIWARG$GR2 [i]<- substring(HIWARG$OSGB_trim,3,5)
HIWARG$GR3 [i]<- str_sub(HIWARG$OSGB_trim, 6,9)
}
}
Thank you for any guidance you can offer!
Aucun commentaire:
Enregistrer un commentaire