Would you help me to add a different number of columns for row to a dataframe?
For example, I have this DataFrame:
employee <- c('John','Peter','Jolie', 'Katy', 'Pauline')
numberofmonths <- c(7, 5, 11, 3, 12)
employers <- data.frame(employee,numberofmonths)
employee numberofmonths
1 John 7
2 Peter 5
3 Jolie 11
4 Katy 3
5 Pauline 12
Now, I would like to add to employers
as many columns as characters the "employee" names have.
So I would like something like this:
employee numberofmonths i i i i i i i
1 John 7 A1 A2 A3 A4 NA NA NA
2 Peter 5 A1 A2 A3 A4 A5 NA NA
3 Jolie 11 A1 A2 A3 A4 A5 NA NA
4 Katy 3 A1 A2 A3 A4 NA NA NA
5 Pauline 12 A1 A2 A3 A4 A5 A6 A7
I have tried this script:
for (i in (1:nrow(employers))) {
for (j in nchar(as.vector(employers[i,]$employee))){
employers<-cbind(employers, i=paste("A", i, sep=""))
}}
But instead of giving A1:A4 for John and... A1:A7 for Pauline, it gives A1:A5 for all of them:
employee numberofmonths i i i i i
1 John 7 A1 A2 A3 A4 A5
2 Peter 5 A1 A2 A3 A4 A5
3 Jolie 11 A1 A2 A3 A4 A5
4 Katy 3 A1 A2 A3 A4 A5
5 Pauline 12 A1 A2 A3 A4 A5
Of course, for the names that have less characters than others, we will have some columns with NA
.
I am working with a big dataframe with a lot of strings so anything manual will work. This is only an example so the Ai values mean nothing.