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

阅读 1143 收藏 0 点赞 0 评论 0

要将 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

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号