我有一个多列的 df,如下例所示。我想通过从 A1 到 A5 的列中的数字 2 更改所有零,但我不想在 mutate 函数中写入所有列名称。有谁知道我如何创建一个从 A1 到 A5 的循环并使用 mutate 函数将零更改为两个?
df = data.frame(A1 = c(0,1,1,0,0,1,1,1), B1 = c(0,1,1,0,0,0,0,0), C1 = c(1,1,1,0,0,0,0,0), A2 = c(0,1,1,0,0,0,0,0), A3 = c(1,1,1,0,1,1,1,1), A4 = c(1,1,1,0,0,1,1,1), A5 = c(0,1,1,0,0,1,1,1), C2 = c(1,1,1,0,0,1,0,0))
Run Code Online (Sandbox Code Playgroud)
我试图用以下循环来做到这一点
for (i in 1:5) {
a = paste0('A', i)
df = df %>% mutate(a = ifelse( a == 0, 2, 1))
}
Run Code Online (Sandbox Code Playgroud)
...但 mutate 函数不接受该变量。