R 缺少值-热甲板邻接法

R 缺少值-热甲板邻接法,r,R,我对R代码有一个问题,而不是缺少值。实际上,我不知道如何用简单的热板法估算这些值。比如说,拥有这些数据 1 10000123 111 112820 0.24457235 NA NA NA NA 11 2 10000132 111 2502357 0.19408587 0.19373610 0.6567305 0.01454520 0.13498823 69 3 10000388 111 4472360 0

我对R代码有一个问题,而不是缺少值。实际上,我不知道如何用简单的热板法估算这些值。比如说,拥有这些数据

1  10000123  111  112820 0.24457235         NA        NA         NA         NA     11
2  10000132  111 2502357 0.19408587 0.19373610 0.6567305 0.01454520 0.13498823     69
3  10000388  111 4472360 0.14774927 0.14918678 0.6853377 0.05233508 0.11314044    106
4  10000792  111  666909 0.10520063         NA        NA         NA         NA     14
5  10002737  111 1139613 0.19944986 0.20114918 0.3564355 0.20135391 0.24106136     23
6  10002741  111  981574 0.11573570         NA        NA         NA         NA     13
7  10002929  111 1417192 0.08770932 0.08387991 0.6106012 0.11078473 0.19473415     24
8  10003396  111  444966 0.19026263 0.18784110 0.5215772 0.16844381 0.12213789     24
9  10003517  111 1230589 0.16393216 0.16358568 0.4614005 0.26670712 0.10830670     19
10 10003546  111  760847 0.12384748         NA        NA         NA         NA     10
使用第5列,需要找到最接近的值,然后在这些地方填写类似的回答,其中是NA值


谢谢。

我不知道是否有现成的R软件包,但这就解决了问题:

dfr<-data.frame(c1=c(123,132,388,792,2737,2741,2929,3396,3517,3546),
 c2=c(0.244,0.194,0.47,0.105,0.199,0.115,0.087,0.190,0.163,0.123),
 c3=c(NA, 0.193,0.149, NA, 0.201, NA, 0.083,0.187,0.163,NA))

hdidx<-which(!is.na(dfr[,3]))
hd<-dfr[hdidx,]
md<-dfr[-hdidx,]
closesthd<-sapply(md[,2], function(curval){which.min(abs(curval-hd[,2]))})
md[,3]<-hd[closesthd,3]
dfr我从未使用过热(或冷)甲板采样。然而,通过谷歌搜索,我找到了rrp包中的
rrp.impute
函数

下面是一个使用一些合成数据的简单示例:

install.packages("rrp")
require(rrp)
set.seed(1)
key <- 1:100
## create random values
value1 <- 10 + 2 * key + rnorm(100, 0, 10)
## make 5 values into NAs
missing <- sample( key, 5)
value1[missing] <- NA
## build a dataframe
df <- data.frame(key, value1)
## do a nearest neighbor hot deck interpolation
imputed <- rrp.impute( df )$new.data

## let's visualize this magic
plot( df)
points(missing, imputed$value1[missing], col="red")
install.packages(“rrp”)
要求(rrp)
种子(1)

请使用
dput
键提供您的数据。要格式化代码,请使用代码格式化图标
{}
(或用四个空格对齐),另请参见。实际上,我没有得到它,但是,为了理解以下内容,进行了更改:)我添加了数据格式化。但是当你想发布样本数据时,你可以使用
dput
命令,比如
dput(my_data)
(或者
head(dput(my_data))
),它可以创建R对象的字符串表示,并提供所有细节。关于在internet上搜索:inside-R通过R包文档拥有强大的搜索引擎,或者给出的结果很少。谷歌在R方面一直做得更好(至少对我来说是这样)。以下是我做的搜索: