当前位置: 首页 > 编程笔记 >

如何将NA替换为R数据帧中选定列的值?

邵弘伟
2023-03-14
本文向大家介绍如何将NA替换为R数据帧中选定列的值?,包括了如何将NA替换为R数据帧中选定列的值?的使用技巧和注意事项,需要的朋友参考一下

在数据分析中,在数据框中查找某些NA值非常普遍,但如果包含NA值的列对分析无用,则所有NA值都不会产生问题。我们可以将所有NA值替换为0或将其他有用的列替换为其他值。

示例

请看以下数据帧-

> set.seed(99)
> x1<-sample(c(5,10,15,NA),20,replace=TRUE)
> x2<-sample(c(1,2,3,NA),20,replace=TRUE)
> x3<-sample(c(20,21,22,23,24,25,NA),20,replace=TRUE)
> x4<-sample(c(letters[1:10],NA),20,replace=TRUE)
> x5<-sample(c(1:10,NA),20,replace=TRUE)
> df<-data.frame(x1,x2,x3,x4,x5)
> df
  x1   x2   x3   x4    x5
1  NA   NA   25  <NA>  NA
2  5     2   24    f    2
3  NA    2   25    i    7
4  10   NA   23    i   10
5  10    1   21    c    3
6   5   NA   NA    h   NA
7  15    2   20    g   10
8  10   NA   25    d   10
9  10    2   23    c    5
10 10    1   NA    f    8
11 NA    3   25  <NA>   5
12 10    2   NA    h    4
13 NA    3   25    g    1
14 5     2   NA    c    8
15 NA   2   NA  <NA>    3
16 NA   NA  23    f     7
17 15   1   24  <NA>    9
18 NA   NA   NA    b    3
19 5    3    NA    d    3    
20 10   2    20    g    8

将NA的连续列更改为零-

> df[,c("x1","x2")][is.na(df[,c("x1","x2")])] <- 0
> df
x1 x2 x3 x4 x5
1 0 0 25 <NA> NA
2 5 2 24 f 2
3 0 2 25 i 7
4 10 0 23 i 10
5 10 1 21 c 3
6 5 0 NA h NA
7 15 2 20 g 10
8 10 0 25 d 10
9 10 2 23 c 5
10 10 1 NA f 8
11 0 3 25 <NA> 5
12 10 2 NA h 4
13 0 3 25 g 1
14 5 2 NA c 8
15 0 2 NA <NA> 3
16 0 0 23 f 7
17 15 1 24 <NA> 9
18 0 0 NA b 3
19 5 3 NA d 3
20 10 2 20 g 8

将NA的非连续列更改为零-

> df[,c("x3","x5")][is.na(df[,c("x3","x5")])] <- 0
> df
x1 x2 x3 x4 x5
1 0 0 25 <NA> 0
2 5 2 24 f 2
3 0 2 25 i 7
4 10 0 23 i 10
5 10 1 21 c 3
6 5 0 0 h 0
7 15 2 20 g 10
8 10 0 25 d 10
9 10 2 23 c 5
10 10 1 0 f 8
11 0 3 25 <NA> 5
12 10 2 0 h 4
13 0 3 25 g 1
14 5 2 0 c 8
15 0 2 0 <NA> 3
16 0 0 23 f 7
17 15 1 24 <NA> 9
18 0 0 0 b 3
19 5 3 0 d 3
20 10 2 20 g 8
 类似资料:
  • 本文向大家介绍如何在R数据帧中将空值转换为NA?,包括了如何在R数据帧中将空值转换为NA?的使用技巧和注意事项,需要的朋友参考一下 当我们的数据包含空值时,很难执行分析,我们可能会将这些空值转换为NA,以便我们了解不可用的值的数量。这可以通过使用单个方括号来完成。 示例 请看以下具有一些空值的数据框- 将空值转换为NA-

  • 本文向大家介绍如何将R数据帧中的字符串转换为NA?,包括了如何将R数据帧中的字符串转换为NA?的使用技巧和注意事项,需要的朋友参考一下 我们经常会在数据收集过程中发现错误,这些错误可能会导致研究结果不正确。当错误地收集数据时,将使分析师的工作变得困难。显示数据有错误的一种情况是获取字符串代替数字值。因此,我们需要将这些字符串转换为R中的NA,以便我们可以进行预期的分析。 示例 请看以下数据帧- 将

  • 我有两个data.frames,每个都有数千行和几十列,都是通过合并几个csv文件创建的。data.frames正是我想要的。我还要补充一点,df1和df2有几列是共同的。唯一的问题是,在其中一个中,比如df1,对于某些列,有一些NAs(这是预期的/正常的)。好的一面是,我有NAs的相同列也出现在第二data.frame,比如df2,但没有NAs。我想做的是用df1同一列的值填充df2给定列中的N

  • 本文向大家介绍如何在R中将数据帧转换为data.table?,包括了如何在R中将数据帧转换为data.table?的使用技巧和注意事项,需要的朋友参考一下 由于对data.table的操作有时比数据帧快,因此我们可能希望将数据帧转换为data.table对象。数据框和data.table之间的主要区别在于,数据框可在基础R中使用,但是要使用data.table,我们必须安装软件包data.tabl

  • 问题内容: 我有一个要转换为json格式的数据框: 我的数据帧称为res1: 当我做: 我得到这个: 我需要这个json输出像这样,有什么想法吗? 问题答案: 怎么样 通过使用,我们实际上将大的data.frame分解为每一行的单独的data.frame。通过从结果列表中删除名称,该函数将结果包装在数组中,而不是命名对象中。

  • 本文向大家介绍如何通过R中的行将数据帧值转换为向量?,包括了如何通过R中的行将数据帧值转换为向量?的使用技巧和注意事项,需要的朋友参考一下 数据可以任何形式提供给我们,但有可能不适合用于分析。有时数据记录在数据框中,但我们可能需要将其作为向量。在这种情况下,我们必须更改向量中数据帧的值。这可以通过在将数据帧与t换位后将它们读取为矢量来读取数据帧值来完成。 示例 请看以下数据帧- 让我们看另一个例子