如何在 R 数据框中用新值替换特定值?


要替换 R 数据框中的特定值,我们可以使用 ifelse 函数,其中新值将在条件之后放置,如果列值与条件不匹配,则放置同一列。例如,如果我们有一个名为 df 的数据框,其中包含一列 x,其中有 20 个值,其中一些是 5,如果我们想将 5 替换为 2,则可以使用命令 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

将 x 列中的值 2 替换为 3 -

示例

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

更新于: 2021年3月17日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.