楼主: neo_donald
1755 0

[学习分享] R语言缺失值处理 [推广有奖]

  • 0关注
  • 0粉丝

本科生

5%

还不是VIP/贵宾

-

威望
0
论坛币
684 个
通用积分
0.3955
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
450 点
帖子
22
精华
0
在线时间
96 小时
注册时间
2019-4-29
最后登录
2023-5-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在R中,缺失值以符号NA(Not Available,不可用)表示。不可能出现的值(例如,被0除的结果)通过符号NaN(Not a Number,非数值)来表示。与SAS等程序不同, R中字符型和数值型数据使用的缺失值符号是相同的。  

  1.R提供了一些函数,用于识别包含缺失值的观测。函数is.na()允许你检测缺失值是否存在。
假设你有一个向量:
  1. y <- c(1, 2, 3, NA)
复制代码
然后使用函数:
  1. is.na(y)
复制代码
将返回c(FALSE, FALSE, FALSE, TRUE)。
is.na()将返回一个相同大小的对象,如果某个元素是缺失值,相应的位置将被改写为TRUE,不是缺失值的位置则为FALSE
请注意:
  缺失值被认为是不可比较的,即便是与缺失值自身的比较。这意味着无法使用比较运算符来检测缺失值是否存在。
  2.重编码某些值为缺失值
假设你有一个leadership数据框,其中有age变量,现在要将age 取值99重编码为NA
  1. leadership$age[leadership$age == 99] <- NA
复制代码
3.排除缺失值
举例来说,考虑以下代码:
  1. # 在计算之前移除缺失值并使用剩余值进行计算
  2. x <- c(1, 2, NA ,3)
  3. y <- x[1] + x[2] + x[3] + x[4]
  4. z <- sum(x)
复制代码
由于x中的第3个元素是缺失值,所以y和z也都是NA(缺失值)。
可以使用na.rm=TRUE选项,在计算之前移除缺失值并使用剩余值进行计算:
  1. y <- sum(x,na.rm = TRUE)
  2. # 在使用函数处理不完整的数据时,请务必查阅它们的帮助文档
  3. # help(sum)
复制代码
这里, y等于6。
你可以通过函数na.omit()移除所有含有缺失值的观测。
na.omit()可以删除所有含有缺失数据的行。
  na.omit(object, ...)
  object        an R object, typically a data frame
   ...                further arguments special methods could require.
以下是na.omit在Rhelp中的例子:
  1. DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA))
  2. na.omit(DF)
  3. # 运行结果如下:
  4.    x  y
  5. 1 1  0
  6. 2 2 10
复制代码

以上即为R语言缺失值常用方法,希望能帮上大家
——资料来源《R语言实战》《Rhelp》
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:缺失值处理 R语言 缺失值 Available Number

已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-16 04:09