[R] Simple Stacking of Two Columns
@vi@e@gross m@iii@g oii gm@ii@com
@vi@e@gross m@iii@g oii gm@ii@com
Tue Apr 4 03:28:15 CEST 2023
I may be missing something but using the plain old c() combine function
seems to work fine:
df <- data.frame(left = 1:5, right = 6:10)
df.combined <- data.frame(comb = c(df$left, df$right))
df
left right
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10
df.combined
comb
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
-----Original Message-----
From: R-help <r-help-bounces using r-project.org> On Behalf Of Heinz Tuechler
Sent: Monday, April 3, 2023 4:39 PM
To: r-help using r-project.org
Subject: Re: [R] Simple Stacking of Two Columns
Jeff Newmiller wrote/hat geschrieben on/am 03.04.2023 18:26:
> unname(unlist(NamesWide))
Why not:
NamesWide <- data.frame(Name1=c("Tom","Dick"),Name2=c("Larry","Curly"))
NamesLong <- data.frame(Names=with(NamesWide, c(Name1, Name2)))
>
> On April 3, 2023 8:08:59 AM PDT, "Sparks, John" <jspark4 using uic.edu> wrote:
>> 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]]
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
______________________________________________
R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list