gpt4 book ai didi

r - 作为二进制变量处理

转载 作者:行者123 更新时间:2023-12-05 04:55:44 25 4
gpt4 key购买 nike

谁能帮我解决这个错误?

Error: The treatment must be a binary variable.

尽管在运行了 matchit 函数相互需要的 mutate 函数之后,尝试继续运行以下代码行,但无法找出问题出在哪里以及为什么会发生这种情况。

    library(Matching)
library(MatchIt)
library(cobalt)
library(WeightIt)
library(twang)
library(tidyverse)
library(Hmisc)
library(emmeans)
library(rms)
library(rpart)
library(randomForest)
library(survey)
library(glue)
library(nnet)

set.seed(1)
matching_lg_1 <- map(
.x = ratios, ~ matchit(
procedure ~ age + sub_id + intermacs_iv + gender + bsa + redo +
ef + days_cvvh_preop, data = cardio_db_matched %>%
mutate(procedure = if_else(procedure =='proc_1', 1, 0), .data = cardio_db_matched),
distance = "logit", method = "nearest", ratio = .x, caliper = 0.2,
m.order = "random", replace = FALSE
)
) %>%
set_names(x = ., nm = c("ratio_1:1", "ratio_1:2"))

原始数据集中的变量可能采用以下值:proc_1proc_2

感谢关注。

最佳答案

我有同样的问题,这告诉你 treatment(procedure)不包含 0 到 1 之间的值。很可能你有缺失值,在在这种情况下,设置 na.omit() 或检查任何可能导致变量的值不只是 0 和 1 的变量转换。

关于r - 作为二进制变量处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65233284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com