要将 R 数据框中的特定值替换为新值,我们可以使用 ifelse 函数,其中新值将放置在条件之后,如果列值与条件不匹配,则将放置相同的列。例如,如果我们有一个名为 df 的数据框,其中包含具有 20 个值的列 x,其中一些值为 5,如果我们想用 2 替换 5,那么我们可以使用命令 df$x<-ifelse(df$x ==5,2,df$x)
示例
考虑以下数据框 -
ID<-1:20 x<-rpois(20,2) df1<-data.frame(ID,x) df1输出结果
ID x 1 1 2 2 2 2 3 3 2 4 4 4 5 5 2 6 6 2 7 7 2 8 8 2 9 9 1 10 10 2 11 11 0 12 12 2 13 13 4 14 14 4 15 15 4 16 16 0 17 17 2 18 18 3 19 19 0 20 20 3
用 3 替换列 x 中的值 2 -
示例
df1$x<-ifelse(df1$x==2,3,df1$x) df1输出结果
ID x 1 1 3 2 2 3 3 3 3 4 4 4 5 5 3 6 6 3 7 7 3 8 8 3 9 9 1 10 10 3 11 11 0 12 12 3 13 13 4 14 14 4 15 15 4 16 16 0 17 17 3 18 18 3 19 19 0 20 20 3
示例
S.No<-1:20 y<-rpois(20,5) df2<-data.frame(S.No,y) df2输出结果
S.No y 1 1 4 2 2 5 3 3 5 4 4 7 5 5 9 6 6 6 7 7 2 8 8 3 9 9 1 10 10 4 11 11 9 12 12 3 13 13 3 14 14 6 15 15 8 16 16 6 17 17 4 18 18 5 19 19 8 20 20 3
将 y 列中的值 4 替换为 0 -
示例
df2$y<-ifelse(df2$y==4,0,df2$y) df2输出结果
S.No y 1 1 0 2 2 5 3 3 5 4 4 7 5 5 9 6 6 6 7 7 2 8 8 3 9 9 1 10 10 0 11 11 9 12 12 3 13 13 3 14 14 6 15 15 8 16 16 6 17 17 0 18 18 5 19 19 8 20 20 3