Home > Software engineering >  R: How can I merge two column in one (for loger column, not merge by column )
R: How can I merge two column in one (for loger column, not merge by column )

Time:09-28

For example, I have this data frame:

Id Age
1 14
2 28

and I want to make a long column like this:

Id new column
1 1
2 2
14
28

What should I do?

CodePudding user response:

We may unlist data and create the column by padding NA based on the max length

lst1 <- list(df1$id, unlist(df1))
out <- data.frame(lapply(lst1, `length<-`, max(lengths(lst1))))
names(out) <- c("id", "new_column")

CodePudding user response:

Here is another approach:

df1 <- data.frame(New_column = c(df[,"Id"], df[,"Age"]))
merge(df$Id, df1, by="row.names", all=TRUE)[,-1]

Output:

   x New_column
1  1          1
2  2          2
3 NA         14
4 NA         28
  • Related