在数据框中,我尝试将一系列列的内容(从df$first
到df$last
)粘贴到新的单列df$merged
中。
列的内容是文本字符串。 df&first
和df$last
之间的列数是可变的。我尝试了以下代码,但它没有用。
df$merged <- paste(df$first:df$last)
如果要合并的每个列的名称可用,如下面的示例所示,它确实可以正常工作。
df$merged <- paste(df$first, df$second, df$third,df$last)
但是工作的本质是只有通过用户输入知道第一个和最后一个列名称的标题。
答案 0 :(得分:0)
您可以使用tidyr::unite
统一两列之间的所有列。如果需要其他分隔符,请使用sep
参数。
library('tidyverse')
df <- tribble(
~before_first, ~first, ~second, ~last, ~after_last,
'a', 'c', 'e', 'h', 'j',
'b', 'd', 'f', 'i', 'k'
)
df %>%
unite(merged, first:last)
# # A tibble: 2 x 3
# before_first merged after_last
# * <chr> <chr> <chr>
# 1 a c_e_h j
# 2 b d_f_i k