在尝试分析缺少值的数据时,来自ttestBF()
包的BayesFactor
引发以下错误:
> ttestBF(formula = Level2 ~ Completers, r = sqrt(2)/2, data = tib)
Error in checkFormula(formula, data, analysis = "indept") :
Dependent variable must not contain missing or infinite values.
尽管在其文件中提到过,在ttestBF()
命令中添加参数is.na
不会改变任何事情(但可能是我的错,因为我不知道如何应用它):
> ttestBF(formula = Level2 ~ Completers, r = sqrt(2)/2, is.na = TRUE, data = tib)
Error in checkFormula(formula, data, analysis = "indept") :
Dependent variable must not contain missing or infinite values.
In addition: Warning message:
data coerced from tibble to data frame
我的问题:
ttestBF()
处理BayesFactor
包中缺少的值吗?可复制的数据:
nn <- 100 # total sample size (both Completers and Non Completers)
# create tibble with 2 level samples (completers & non completers), 50 each
tib <- tibble::tibble(Completers = rep(c(1, 0), each = nn/2),
Level = c(sample(1:9, 50, replace = TRUE,
prob = c(57/1043*100, 275/1043*100,
398/1043*100, 199/1043*100,
72/1043*100, 27/1043*100,
12/1043*100, 2/1043*100,
1/1043*100)),
sample(1:9, 50, replace = TRUE,
prob = c(57/1043*100, 275/1043*100,
398/1043*100, 199/1043*100,
72/1043*100, 27/1043*100,
12/1043*100, 2/1043*100,
1/1043*100))))
# Value labels
expss::val_lab(tib$Completers) = expss::num_lab("
1 Completers
0 Non Completers")
expss::val_lab(tib$Level) = expss::num_lab("1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I")
# Copy 2nd column into 3rd and call it Level2
tib$Level2 <- tib$Level
# Insert single missing value (NA)
tib[3, 2] = NA
输出没有缺少值:
> BayesFactor::ttestBF(formula = Level ~ Completers, r = sqrt(2)/2, data = tib)
Bayes factor analysis
--------------
[1] Alt., r=0.707 : 0.3507102 ±0.02%
Against denominator:
Null, mu1-mu2 = 0
---
Bayes factor type: BFindepSample, JZS
Warning message:
data coerced from tibble to data frame
缺少值的输出:
> BayesFactor::ttestBF(formula = Level2 ~ Completers, r = sqrt(2)/2, data = tib)
Error in checkFormula(formula, data, analysis = "indept") :
Dependent variable must not contain missing or infinite values.
In addition: Warning message:
data coerced from tibble to data frame
带有缺失值和参数is.na = TRUE
的输出
> BayesFactor::ttestBF(formula = Level2 ~ Completers, r = sqrt(2)/2, is.na = TRUE, data = tib)
Error in checkFormula(formula, data, analysis = "indept") :
Dependent variable must not contain missing or infinite values.
In addition: Warning message:
data coerced from tibble to data frame
资料来源:
sessioninfo::session_info()
提取物:
setting value
version R version 4.2.1 (2022-06-23)
os macOS Monterey 12.5.1
rstudio 2022.07.1+554 Spotted Wakerobin (desktop)
package * version date (UTC) lib source
BayesFactor * 0.9.12-4.4 2022-07-05 [1] CRAN (R 4.2.0)
expss * 0.11.1 2022-01-07 [1] CRAN (R 4.2.0)
tibble * 3.1.8 2022-07-22 [1] CRAN (R 4.2.0)
发布于 2022-09-18 08:53:31
您可以从数据中删除NA:
BayesFactor::ttestBF(formula = Level2 ~ Completers, r = sqrt(2)/2, data = filter(tib, !is.na(Level2) & !is.na(Completers))
https://stackoverflow.com/questions/73721751
复制相似问题