如何根据另一个 R 数据框中的另一列分配数据框中的列值?

要根据另一列分配列值,我们可以使用 ifelse 函数。ifelse 函数使用等号 (==) 检查一个数据帧的一列中的值是否与另一个数据帧的另一列中的值匹配,如果不匹配,则将原始值替换为新列,否则返回原始值。查看以下示例以了解如何完成。

示例

考虑以下数据框 -

> x1<-rpois(20,2)

> x2<-rpois(20,5)

> df1<-data.frame(x1,x2)

> df1

输出结果
  x1 x2

1  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  y2

1  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 x2

1  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

回到顶部