R重复测量二元Logistic回归Time变量转factor输入0行报错求解
报错核心原因
该报错与变量是否为时间类型无关,由两个可直接修正的代码问题导致:
- 列名引用不匹配:你的代码尝试提取不存在的
Time列生成因子,但实际存储1/2/3时间编码的列名为Pandemia,d$Time返回长度为0的空值,赋值时和1126行的数据集长度不匹配,触发报错。 - 语法笔误:
read_xlsx.("DS-AKT")的函数名多了多余的点,正确的readxl读取函数为read_xlsx(),同时需确保Excel文件路径正确,需补充.xlsx后缀。
修正后的完整代码
# 安装依赖包(已安装可注释掉第一行) install.packages(c("lme4", "readxl")) library(lme4) library(readxl) # 读取数据集,注意替换为你本地的实际文件路径 d <- read_xlsx("DS-AKT.xlsx") d <- as.data.frame(d) # 重编码时间变量为带标签的因子 d$Pandemia <- factor(d$Pandemia, levels = 1:3, labels = c("Before", "During", "After")) # 按需筛选仅保留第2、3周期数据用于后续分析 d_analysis <- d[d$Pandemia %in% c("During", "After"), ]
结果验证
运行上述代码后可执行table(d$Pandemia)查看重编码后的分组计数,确认无空值即可正常进行后续回归分析。
内容的提问来源于stack exchange,提问作者LivAnon
相关产品推荐
相关产品推荐

