【发布时间】:2021-01-24 17:00:36
【问题描述】:
希望是一个简单的问题。我想使用 dplyr mutate across,并引用另一个静态列以用于所有 mutate 函数。
df <- data.frame(baseline = c(1,2,3), day1 = c(NA,2,2), day2 = c(2,3,4), day3= c(5,4,6))
我想为基线上每天的变化创建一个新列“fc”。我想我可能需要 'sym' 和 !!围绕基线使其工作,但还没有弄清楚。
df %>% mutate(fc = mutate(across(starts_with('day')), ./baseline))
给出错误
警告信息: 在 format.data.frame(if (omit) x[seq_len(n0), , drop = FALSE] else x, 中: 损坏的数据框:列将被截断或用 NA 填充
更新:我在每一天的列中都有一些缺失值,因此编辑了上面的代码。当输入中有 NA 时,如何在输出中加入给出 NA 而不是失败?
【问题讨论】:
-
我希望将 3 个新列 fc 添加到数据框中,并使用每天的默认命名(我认为是 dayx_fc)或替换原始列。无论哪种方式都适合我。
标签: r dplyr columnname across