我试图将数据框df
的所有列与|
分开。
但是,对于新列的名称,我希望所有列名称以相同的方式合并在一起(例如S_n | S_s | S_b)。
这是我尝试并收到的错误消息Error: Must supply a symbol or a string as argument
S_n = c(2, 3, 5)
S_s = c("aa", "bb", "cc")
S_b = c(TRUE, FALSE, TRUE)
df = data.frame(S_n, S_s, S_b)
unite(df, S_n|S_s|S_b, sep="|", remove=TRUE)
答案 0 :(得分:2)
unite(df, "S_n|S_s|S_b", sep="|", remove=TRUE)
。您需要在列名两边加上引号,因为它是非标准名称。 (标准名称不能包含.
和_
以外的其他符号。)
答案 1 :(得分:1)
通过基数R可以得到一个想法,
df[paste(names(df), collapse = '|')] <- do.call(paste, c(df, sep = '|'))
# S_n S_s S_b S_n|S_s|S_b
#1 2 aa TRUE 2|aa|TRUE
#2 3 bb FALSE 3|bb|FALSE
#3 5 cc TRUE 5|cc|TRUE