楼主: paulgao@max
1949 7

[问答] R语言缺失值填补 [推广有奖]

  • 0关注
  • 0粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
746 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
89 点
帖子
4
精华
0
在线时间
29 小时
注册时间
2018-3-26
最后登录
2021-4-27

楼主
paulgao@max 发表于 2019-12-23 08:31:11 |AI写论文
100论坛币
要对缺失值N/A进行数据填补
例如,图片中的DEPSUMBAR列中N/A填入的要求是和该列N/A所在的YEAR和RSSDID都相同的行的DEPSUMBAR的平均值
意思就是图片中的第二行N/A填入的是1995年,RSSDID为181637的所有存在的DEPSUMBAR的平均值
跪求R语言代码怎么写,谢谢


Screen Shot 2019-12-22 at 18.19.25.png

沙发
skyfx 发表于 2019-12-23 09:05:37
  1. library(tidyr)
  2. library(dplyr)

  3. output <- your.data %>%
  4.   group_by(YEAR, RSSDID) %>%
  5.   mutate(new = mean(DEPSUMBAR)) %>%
  6.   replace_na(DEPSUMBAR, new) %>%
  7.   select(-new)
复制代码


easy money~

藤椅
skyfx 发表于 2019-12-25 17:06:54
可以用吗?可以的话,请付一下款。

板凳
skyfx 发表于 2019-12-25 17:07:12

可以用吗?可以的话,请付一下款。

报纸
skyfx 发表于 2019-12-31 15:01:10
可以用吗?可以的话,请付一下款。

地板
18226130158 发表于 2021-7-17 17:29:31
skyfx 发表于 2019-12-23 09:05
easy money~
mean里面应该加na.rm=TRUE吧

7
屋檐滴语 发表于 2021-7-18 10:28:02
  1. library(dplyr)
  2. df %>%
  3.   group_by(YEAR, RSSDID) %>%
  4.   mutate(
  5.     DEPSUMBAR = ifelse(
  6.       is.na(DEPSUMBAR),
  7.       mean(DEPSUMBAR, na.rm = TRUE),
  8.       DEPSUMBAR
  9.     )
  10.   ) %>%
  11.   ungroup()
复制代码

8
屋檐滴语 发表于 2021-7-18 10:50:35
  1. library(dplyr)
  2. library(tidyr)
  3. df %>%
  4.   group_by(YEAR, RSSDID) %>%
  5.   mutate(
  6.     DEPSUMBAR = replace_na(DEPSUMBAR, mean(DEPSUMBAR, na.rm = TRUE))
  7.   ) %>%
  8.   ungroup()
复制代码
这样也是可以的。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-16 13:35