如何使用前进和后退填充的平均值替换数据框中的NULL值?

星状

我刚刚开始使用R,并且我试图用正向和反向值的平均值替换每列中的NULl值。以下是具有几个空值的示例数据框

  A      B     C  
  1      1    2000
  2      NA   NA
  3      4    5000
  4      NA   NA
  5      7    8000

我正在尝试做这样的事情。

  A      B      C 
  1      1     2000
  2     2.5    3500
  3      4     5000
  4     5.5    6500
  5      7     8000

tidyr似乎完成了一半的工作,df %>% fill("A",.direction = c("down"))但是我该如何替换正向和反向值的平均值?

阿克伦

我们可以用 na.approx

library(zoo)
df1[-1] <- na.approx(df1[-1])
df1
#  A   B    C
#1 1 1.0 2000
#2 2 2.5 3500
#3 3 4.0 5000
#4 4 5.5 6500
#5 5 7.0 8000

或搭配 lapply

df1[-1] <- lapply(df1[-1], na.approx)

或与 dplyr

library(dplyr)
df1 %>%
    mutate_if(is.numeric, na.approx)

或搭配 data.table

library(data.table)
setDT(df1)[, (2:3) := lapply(.SD, na.approx), .SDcols = 2:3]

数据

df1 <- structure(list(A = 1:5, B = c(1L, NA, 4L, NA, 7L), C = c(2000L, 
NA, 5000L, NA, 8000L)), class = "data.frame", row.names = c(NA, 
-5L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何用列值的平均值替换数据框列中的几个 NA 值

如何使用星期几和小时数据的平均值填充缺失值

Pandas,如何使用多个分组列替换 python 数据框中的平均值

R使用group_by计算数据框中的平均值和值之和

如何用熊猫数据框中第一行和相应行之间的列平均值填充特定值

如何用NA所属行的平均值填充DataFrame中的NaN值,并返回新数据框

R:用特定数据范围的平均值替换数据框中的某个值

数据框使用条件填充 NaN 平均值

如何用列平均值替换数据框元素?

用相关列的平均值替换数据框中的NaN值的函数

用其他平均值替换整个数据框中的NaN值

计算数据框中列的最大值、平均值和最小值

如何用行平均值替换熊猫数据透视表的0和nan值?

如何用数据的平均值替换训练和测试的缺失值

如何用熊猫DataFrame中的先前值和后继值的平均值替换NaN?

如何获得数据框列值的平均值

如何使用循环以基于R数据帧中另一列的平均值替换值

如何用 SQL 中类别的平均值替换 NULL 值?

如何用python中的上限值和下限值的平均值填充空值?

如何用 PYSPARK 中的平均值替换空值?

如何在SQL中查找平均值,同时使用平均值查找初始数据值和平均值之间的差

如何计算pandas数据框中列中特定值的平均值?

如何用熊猫中的ffill()和bfill()的平均值替换缺失值?

如何获取数据框中每列的平均值

如何计算数据框中的平均值?

如何获得数据框中的平均值?

如何获取熊猫数据框中列表的平均值

如何基于Julia中一列中的值查找数据框的行的平均值?

如何忽略零值来计算数据框中的平均值