Vote count:
0
This may have a horribly simple "R"ish solution, but it has been evading me.
I am working on a problem where I need to build a data frame one row at a time. A named vector is obtained by some processing and it provides the values for the row to be inserted. Problem is the named vector doesn't have components in the same order as data frame columns. This makes rbind produce wrong result. Here is the very simplified sample code
df = data.frame(id=1:2, va=11:12, vb=21:22, vc=31:32)
v1 = c(id=4, va=14, vb=25, vc=NA)
df = rbind(df, v1)
So far, so good as this produces correct result. Now the next vector processing leads to:
v2 = c(va=19, id=9, vc=34, vb=NA)
df = rbind(df, v2)
This produces incorrect result. The correct result should be
id va vb vc
1 1 11 21 31
2 2 12 22 32
3 4 14 25 NA
4 9 19 NA 34
I am not able to decipher how would I get the correct result. In summary, how would I add a named vector to a data frame where components of the vector will be matched against the column names of the data frame?
Please help!!!!!
Aucun commentaire:
Enregistrer un commentaire