如何在R中将所有数据框列合并为单个列

时间:2020-07-01 12:06:40

标签: r dataframe

我知道如何将数据框的特定列手动合并到单个列中:

df_new <- data.frame(paste(df$a, df$b, df$c))

我的问题是如何动态处理数据框的所有列?

2 个答案:

答案 0 :(得分:4)

您可以使用do.call'do.call'从名称或函数以及要传递给它的参数列表中构造并执行函数调用。

do.call(paste, df)

答案 1 :(得分:1)

tidyverse提供的解决方案可能是tidyr :: unite():

df <- data.frame(x = letters[1:4], y = LETTERS[1:4], z = 1:4)
df_new <- tidyr::unite(df, col = "union", sep = " ")

其中 col 是数据框中新构造的列的名称。 sep 等同于其在粘贴中的使用。