[R] Simple Stacking of Two Columns
Sparks, John
j@p@rk4 @end|ng |rom u|c@edu
Mon Apr 3 17:08:59 CEST 2023
Hi R-Helpers,
Sorry to bother you, but I have a simple task that I can't figure out how to do.
For example, I have some names in two columns
NamesWide<-data.frame(Name1=c("Tom","Dick"),Name2=c("Larry","Curly"))
and I simply want to get a single column
NamesLong<-data.frame(Names=c("Tom","Dick","Larry","Curly"))
> NamesLong
Names
1 Tom
2 Dick
3 Larry
4 Curly
Stack produces an error
NamesLong<-stack(NamesWide$Name1,NamesWide$Names2)
Error in if (drop) { : argument is of length zero
So does bind_rows
> NamesLong<-dplyr::bind_rows(NamesWide$Name1,NamesWide$Name2)
Error in `dplyr::bind_rows()`:
! Argument 1 must be a data frame or a named atomic vector.
Run `rlang::last_error()` to see where the error occurred.
I tried making separate dataframes to get around the error in bind_rows but it puts the data in two different columns
Name1<-data.frame(c("Tom","Dick"))
Name2<-data.frame(c("Larry","Curly"))
NamesLong<-dplyr::bind_rows(Name1,Name2)
> NamesLong
c..Tom....Dick.. c..Larry....Curly..
1 Tom <NA>
2 Dick <NA>
3 <NA> Larry
4 <NA> Curly
gather makes no change to the data
NamesLong<-gather(NamesWide,Name1,Name2)
> NamesLong
Name1 Name2
1 Tom Larry
2 Dick Curly
Please help me solve what should be a very simple problem.
Thanks,
John Sparks
[[alternative HTML version deleted]]
More information about the R-help
mailing list