gpt4 book ai didi

r - 在 R 中线性估算缺失值

转载 作者:行者123 更新时间:2023-12-02 06:12:58 25 4
gpt4 key购买 nike

我有一个缺少值的数据框:

X   Y   Z
54 57 57
100 58 58
NA NA NA
NA NA NA
NA NA NA
60 62 56
NA NA NA
NA NA NA
69 62 62

我想从已知值线性推算 NA 值,以便数据帧看起来:

X   Y    Z
54 57 57
100 58 58
90 59 57.5
80 60 57
70 61 56.5
60 62 56
63 62 58
66 62 60
69 60 62

谢谢

最佳答案

Base R 的 approxfun() 返回一个函数,该函数将对所传递的数据进行线性插值。

## Make easily reproducible data
df <- read.table(text="X Y Z
54 57 57
100 58 58
NA NA NA
NA NA NA
NA NA NA
60 62 56
NA NA NA
NA NA NA
69 62 62", header=T)

## See how this works on a single vector
approxfun(1:9, df$X)(1:9)
# [1] 54 100 90 80 70 60 63 66 69

## Apply interpolation to each of the data.frame's columns
data.frame(lapply(df, function(X) approxfun(seq_along(X), X)(seq_along(X))))
# X Y Z
# 1 54 57 57.0
# 2 100 58 58.0
# 3 90 59 57.5
# 4 80 60 57.0
# 5 70 61 56.5
# 6 60 62 56.0
# 7 63 62 58.0
# 8 66 62 60.0
# 9 69 62 62.0

关于r - 在 R 中线性估算缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com