我知道如何将数据框的特定列手动合并到单个列中:
df_new <- data.frame(paste(df$a, df$b, df$c))
我的问题是如何动态处理数据框的所有列?
答案 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 等同于其在粘贴中的使用。