我想算一些数据。我使用包装中的数据 moss 。目的是算上值<0.004列列BI。因为 moss 日期是组成数据,所以我使用包装 robcompositions 的方法。当我尝试将值算时,我会遇到一个错误。
代码:
library(mvoutlier)
library(robCompositions)
data(moss)
attach(moss)
x <- moss[-c(1,2,3)] # copying the data from moss, withoud the first 3 variables into x
x$Bi[Bi < 0.004] <- 0 # the values that are under 0.004 are replaced with 0
res <- impRZilr(x,dl=c(0,0,0,0,0,0.004,rep(0,25)))
|======= | 10%Error in !all.equal(x[!w], xOrig[!w]) : invalid argument type
不知道如何处理此错误
library(mvoutlier)
library(robCompositions)
data(moss)
x <- moss[-c(1,2,3)] #copying the data from moss, withoud the first 3 variables into x
### Before
head(x$Bi)
## [1] 0.002 0.039 0.012 0.033 0.002 0.052
# Impute below 0.004
x$Bi[x$Bi < 0.004] <- 0
## head(x$Bi)
## [1] 0.000 0.039 0.012 0.033 0.000 0.052
# Imputation
result <- impRZilr(x, dl = rep(0.004, nrow(x)))
res <- data.frame(result$x)
head(res$Bi)
## [1] 0.002515667 0.039000000 0.012000000 0.033000000 0.002836172 0.052000000
,如您所见,0的值被istrzilr函数值替换。
编辑
以下是如何根据评论中的要求访问结果的描述。
# Imputation
# Use the verbose = TRUE option to see how the algorithm is iterating
result <- impRZilr(x, dl = rep(0.004, nrow(x)), verbose = TRUE)
### Results description
str(result)
# List of 7
# $ x : num [1:598, 1:31] 0.016 0.073 0.032 0.118 0.038 ...
# ..- attr(*, "dimnames")=List of 2
# .. ..$ : NULL
# .. ..$ : chr [1:31] "Ag" "Al" "As" "B" ...
# $ criteria: num 0.0203
# $ iter : num 4
# $ maxit : num 10
# $ wind : logi [1:598, 1:31] FALSE FALSE FALSE FALSE FALSE FALSE ...
# ..- attr(*, "dimnames")=List of 2
# .. ..$ : chr [1:598] "1" "2" "3" "4" ...
# .. ..$ : chr [1:31] "U" "Bi" "Th" "Tl" ...
# $ nComp : int [1:4] 4 6 3 5
# $ method : chr "pls"
# - attr(*, "class")= chr "replaced"
# Results data.frame with imputed ceros
res <- data.frame(result$x)
# Index of missing values
index_missing_wind <- data.frame(result$wind)
# Number of iterations
result$iter
# [1] 4
# Method used (you can change this)
result$method
OP在编辑中写道:
我设法解决了这个问题,这就是我所做的:
x <-moss[-c(1,2,3)] x$Bi[Bi <- 0.004] <- NA res <- impAll(x)
和对象 res 包含估算的矩阵。