【发布时间】:2018-05-18 02:14:55
【问题描述】:
我有一个关于在我的真实项目中使用 mutate 函数的问题。我的数据如下。
group time A_1 A_3 B_1 B_3 C_1 C_3
1 100 7 5 7 3 5 3
1 200 8 4 5 6 1 2
1 300 5 6 8 9 2 1
1 400 3 5 7 8 2 1
2 100 3 5 7 6 3 2
2 200 4 5 6 0 1 4
2 300 3 3 4 5 3 2
2 400 6 5 3 1 3 7
我将数据集称为 dat。我正在尝试计算每个 A、B 或 C 类型的两列之间的差异,即 A_diff = A_1 - A_3、B_diff = B_1 - B_3、C_diff = C_1 - C_3 等。我有比这里显示的更多类型和有多少不同的类型是不固定的。所以我想用下面的代码在mutate函数中做一个灵活的方程。
type = c("A", "B", "C")
for(i in type){
dat = mutate(dat, paste(i, "_diff", sep = "") = paste(i, "_1", sep = "") - paste(i, "_3", sep = "")
}
但是,我收到一条错误消息,显示意外的“=”。
Error: unexpected '=' in "dat = mutate(dat, paste(i, "diff", sep = "") ="
请帮我改正。我也试过 cat 而不是 paste。
【问题讨论】: