0

私は次のデータセットに取り組んでおり、LOCF メソッド (Last Observation Carried Forward) によってデータを代入して、VISUAL52 変数の不足しているエントリを埋めようとしています。

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() を実行しましたが、complete() 関数を実行した後に表示されるエラーが返されます。

 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 メソッドで代入し、データセットに不足しているデータを埋めるための代替方法を知っているかどうか疑問に思っています。

4

1 に答える 1