【发布时间】:2018-05-05 13:39:33
【问题描述】:
我有一个这种形式的数据框:
df <- data.frame(abc = c(1, 0, 3, 2, 0),
foo = c(0, 4, 2, 1, 0),
glorx = c(0, 0, 0, 1, 2))
在这里,列名是字符串,数据框中的值是我想将该字符串连接到新数据列中的次数。我想创建的新列将是所有现有列的串联,每个列名根据数据重复。
例如,我想创建这个新列并将其添加到数据框中。
new_col <- c('abc', 'foofoofoofoo', 'abcabcabcfoofoo', 'abcabcfooglorx', 'glorxglorx')
also_acceptable <- c('abc', 'foofoofoofoo', 'abcfooabcfooabc', 'abcfooglorxabc', 'glorxglorx')
df %>% mutate(new_col = new_col, also_acceptable = also_acceptable)
连接的顺序无关紧要。我遇到的核心问题是在构建purrr::map() 或dplyr::mutate() 函数来构建新列时,我不知道如何逐行引用列的名称。因此,我不确定如何以编程方式构建这个新列。
(这里的核心应用是化学式的组合构造,以防有人想知道我为什么需要这样的东西。)
【问题讨论】:
标签: r string dataframe dplyr tidyverse