samedi 4 avril 2020

Names in my df's are separated into Names, Surnames and sometimes, middle names (M.) how to put them all in one column in all my df's?

I have a certain number of df's of which I want to change the column names, but they don't have the amount of columns because there's a Middle Name for some of the data I have. Which doesn't necessarily has to be there.

For instance

    df1
  X1 X2   X3   X4     X5     X6
1 A yyyy Name  M. Surname    Word1
2 A yyyy Name  M. Surname    Word1
3 A yyyy Name  M. Surname    Word1

df2
   X1 X2   X3      X4     X5
1 A yyyy Name   Surname   Word1
2 A yyyy Name   Surname   Word1
3 A yyyy Name   Surname   Word1

What I want for all my df's (with middle name included if it's present)

  Element Year         Name                 Element2
1 A      yyyy      Name (M.)  Surname          Word1
2 A      yyyy      Name (M.)  Surname          Word1
3 A      yyyy      Name (M.)  Surname          Word1

I have created ifelse statements based on a regex to identify middle name patterns ("[A-Z][.]+"). What's weird is that it works on regex101.com and regexr.com for the names I have in my df's but when applied to the R console as a test it returns

FALSE

regex is applied like this

names(df)[4] <- ifelse("[A-Z][.]+") %in% df$X4, "Middle Name", "Name")

Thank you very much in advance for your help

Aucun commentaire:

Enregistrer un commentaire