如何根据另一个 R 数据框中的另一列分配数据框中的列值?
要根据另一列分配列值,我们可以使用 ifelse 函数。ifelse 函数使用等号 (==) 检查一个数据帧的一列中的值是否与另一个数据帧的另一列中的值匹配,如果不匹配,则将原始值替换为新列,否则返回原始值。查看以下示例以了解如何完成。
示例
考虑以下数据框 -
> x1<-rpois(20,2)输出结果> x2<-rpois(20,5)
> df1<-data.frame(x1,x2)
> df1
x1 x21 3 5
2 3 7
3 0 6
4 0 5
5 4 6
6 3 8
7 1 5
8 0 8
9 4 6
10 1 2
11 2 3
12 2 6
13 0 0
14 1 9
15 0 0
16 4 2
17 3 5
18 3 8
19 1 3
20 2 7
示例
> y1<-rpois(20,2)输出结果> y2<-rpois(20,5)
> df2<-data.frame(y1,y2)
> df2
y1 y21 3 8
2 4 11
3 3 8
4 2 2
5 1 3
6 1 4
7 1 7
8 1 2
9 5 2
10 2 4
11 2 3
12 1 3
13 1 5
14 3 4
15 0 3
16 2 5
17 3 5
18 1 7
19 5 10
20 2 6
替换 df1 的 x1 中的值,如果 df1 的 x2 与 df2 的 y2 相同,否则返回 df1 中的 x1 -
> df1$x1<-ifelse(df1$x2==df2$y2,df2$y2,df1$x1)输出结果> df1
x1 x21 3 5
2 3 7
3 0 6
4 0 5
5 4 6
6 3 8
7 1 5
8 0 8
9 4 6
10 1 2
11 3 3
12 2 6
13 0 0
14 1 9
15 0 0
16 4 2
17 5 5
18 3 8
19 1 3
20 2 7
以上是 如何根据另一个 R 数据框中的另一列分配数据框中的列值? 的全部内容, 来源链接: utcz.com/z/338837.html