在将数据帧与 R 中的 NA 以外的另一个值合并后,如何填充缺失值?

要在将数据帧与 R 中的 NA 以外的另一个值合并后填充缺失值,我们可以按照以下步骤操作 -

  • 首先,创建两个数据框。

  • 然后,通过两者之间的公共列合并数据框。

  • 之后,用另一个值替换 NA。

示例

创建第一个数据框

让我们创建一个数据框,如下所示 -

ID<-1:10

x<-sample(1:100,10)

df1<-data.frame(ID,x)

df1

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

   ID x

1   1 28

2   2 50

3   3 13

4   4 43

5   5 48

6   6 49

7   7 52

8   8 54

9   9 72

10 10 32

创建第二个数据框

让我们创建一个数据框,如下所示 -

ID<-1:15

y<-sample(1:10,15,replace=TRUE)

df2<-data.frame(ID,y)

df2

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    ID y

1   1  2

2   2  9

3   3 10

4   4  8

5   5 10

6   6  7

7   7  9

8   8  4

9   9  2

10 10  9

11 11  3

12 12  5

13 13 10

14 14  7

15 15  1

合并数据框

使用合并功能按 ID 列合并 df1 和 df2 -

ID<-1:10

x<-sample(1:100,10)

df1<-data.frame(ID,x)

ID<-1:15

y<-sample(1:10,15,replace=TRUE)

df2<-data.frame(ID,y)

merge(df1,df2,all=TRUE,by="ID")

DF<-merge(df1,df2,all=TRUE,by="ID")

DF

输出结果
    ID x  y

1   1 28  2

2   2 50  9

3   3 13 10

4   4 43  8

5   5 48 10

6   6 49  7

7   7 52  9

8   8 54  4

9   9 72  2

10 10 32  9

11 11 NA  3

12 12 NA  5

13 13 NA 10

14 14 NA  7

15 15 NA  1

用另一个值替换 NA

使用is.na函数用点 (.) 替换 DF 中的 NA,如下所示 -

ID<-1:10

x<-sample(1:100,10)

df1<-data.frame(ID,x)

ID<-1:15

y<-sample(1:10,15,replace=TRUE)

df2<-data.frame(ID,y)

merge(df1,df2,all=TRUE,by="ID")

DF<-merge(df1,df2,all=TRUE,by="ID")

DF[is.na(DF)]<-"."

DF

输出结果
    ID x  y

1   1 28  2

2   2 50  9

3   3 13 10

4   4 43  8

5   5 48 10

6   6 49  7

7   7 52  9

8   8 54  4

9   9 72  2

10 10 32  9

11 11  .  3

12 12  .  5

13 13  . 10

14 14  .  7

15 15  .  1

以上是 在将数据帧与 R 中的 NA 以外的另一个值合并后,如何填充缺失值? 的全部内容, 来源链接: utcz.com/z/347489.html

回到顶部