我正在处理下面的数据集,并试图填充VISUAL52变量中缺失的条目,并使用LOCF方法(最后一次观察向前推进)来估算数据。
library(readr)
library(mice)
library(finalfit)
library(Hmisc)
library(lattice)
library(VIM)
library(rms)
library(zoo)
> hw3
# A tibble: 240 x 11
treat LINE0 LOST4 LOST12 LOST24 LOST52 VISUAL0 VISUAL4 VISUAL12 VISUAL24 VISUAL52
<fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2 12 1 3 NA NA 59 55 45 NA NA
2 2 13 -1 0 0 2 65 70 65 65 55
3 1 8 0 1 6 NA 40 40 37 17 NA
4 1 13 0 0 0 0 67 64 64 64 68
5 2 14 NA NA NA NA 70 NA NA NA NA
6 2 12 2 2 2 4 59 53 52 53 42
7 1 13 0 -2 -1 0 64 68 74 72 65
8 1 8 1 0 1 1 39 37 43 37 37
9 2 12 1 2 1 1 59 58 49 54 58
10 1 10 0 -4 -4 NA 49 51 71 71 NA
# ... with 230 more rows我不知道我是否做得好,但我尝试用这种方式描述VISUAL52变量的样本大小、平均值和标准误差(只需让我知道使用不同的函数是否更好)。
numSummary(hw3[,"VISUAL52", drop=FALSE], groups=hw3$treat,
statistics=c("mean", "se(mean)", "quantiles"),
quantiles=c(0,.25,.5,.75,1))
binnedCounts(hw3[hw3$treat == '1', "VISUAL52", drop=FALSE])
# treat = 1
binnedCounts(hw3[hw3$treat == '2', "VISUAL52", drop=FALSE])
# treat = 2但是,关于估算部分,我已经从数据表包中运行了函数nafill(),但是我得到了您可能会看到的错误,aftyer将完整()函数合并起来。
library(data.table)
imp_locf <- nafill(hw3$VISUAL52, "locf", nan=NA)
data_imputed <- complete(imp_locf)
*emphasized text*Error in UseMethod("complete_") :
no applicable method for 'complete_' applied to an object of class "c('double', 'numeric')"我想知道为什么函数会返回此错误,以及是否有人可能知道使用locf方法来填充数据集中缺少的数据的替代方法。
发布于 2021-02-26 18:26:03
如果要在数据集上应用locf,可以使用imputeTS包。
library(imputeTS)
hw3 <- na_locf(hw3)
hw3或者,如果您只想对VISUAL52变量使用LOCF:
library(imputeTS)
hw3$VISUAL52 <- na_locf(hw3$VISUAL52)
hw3另外,请记住,其他算法可能更适合您的数据。imputeTS提供了多个函数,特别是用于时间序列计算(imputeTS中的更多算法)。你已经使用过的鼠标包有更多用于横截面数据的算法。
https://stackoverflow.com/questions/66280400
复制相似问题