我有一个数据集长这样:
p = c(3, 4, 5, 6, 7)
q = c("fr", "", "fr", "fe", "fre")
b = c(1, "", 1, "", 1)
a = c("r", "f", "b", "m", "p")
df=data.frame(p, q, b, a)
我想将 q、b 和 a 合并,并将结果放在一个新列中,因此我使用 unite 函数:
new_df <- df %>%
mutate(Merged = unite(q,b,a), sep = "_")
我遇到了这个错误:
另外,与上面的问题无关,我想在代码中指定一系列列,以便不必手动输入它们(我想合并几十列)。 我可以写Error in UseMethod("unite_") :
no applicable method for 'unite_' applied to an object of class "c('double', 'numeric')"
q:a
来表示从列q到a吗? 我已经尝试过使用paste函数和这种语法,但它没有起作用。
df %>% unite(Merged, q:a, sep = "_")
- sm925