我认为这会有所帮助:
library(tidyverse)
#Data
factor1 <- c(1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,8,9, 9, 10, 10)
factor2 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,16,17, 18, 19, 20)
factor3 <- rnorm(20)
factor4 <- c(1:20)
dataset <- data.frame(factor1, factor2, factor3, factor4)
#Mutate
dataset %>%
mutate(across(c(factor1:factor4),.fns = list(new = ~ ifelse(.==4, 44, ifelse(.==5,55, .))) ))
输出:
factor1 factor2 factor3 factor4 factor1_new factor2_new factor3_new factor4_new
1 1 1 0.95562987 1 1 1 0.95562987 1
2 1 2 -1.69133138 2 1 2 -1.69133138 2
3 2 3 0.34527095 3 2 3 0.34527095 3
4 2 4 -0.38068329 4 2 44 -0.38068329 44
5 3 5 -0.88357788 5 3 55 -0.88357788 55
6 3 6 1.09936795 6 3 6 1.09936795 6
7 4 7 -1.44000399 7 44 7 -1.44000399 7
8 4 8 -1.44619802 8 44 8 -1.44619802 8
9 5 9 -0.37914030 9 55 9 -0.37914030 9
10 5 10 -0.38136916 10 55 10 -0.38136916 10
11 6 11 0.05036574 11 6 11 0.05036574 11
12 6 12 -0.61043789 12 6 12 -0.61043789 12
13 7 13 -0.21648782 13 7 13 -0.21648782 13
14 7 14 -0.35230171 14 7 14 -0.35230171 14
15 8 15 0.23007485 15 8 15 0.23007485 15
16 8 16 0.17146377 16 8 16 0.17146377 16
17 9 17 0.77488658 17 9 17 0.77488658 17
18 9 18 0.67676859 18 9 18 0.67676859 18
19 10 19 1.22292180 19 10 19 1.22292180 19
20 10 20 1.07251831 20 10 20 1.07251831 20
根据您的问题,您正在尝试创建替换某些值的新变量。前面的代码可以解决这个问题。