潜在类增长分析——将每个观察值分配给一个类的问题

问题描述 投票:0回答:0

我正在使用 R 来模拟纵向数据。我正在尝试使用 postprob 函数来获取潜在类的后验概率,然后使用它们将每个观察值分配给一个类。但是,当我尝试这样做时,出现以下错误:

 "Error in $<-.data.frame(tmp, groups, value = c(1L, 1L, 1L, 1L, 1L, : replacement has 39964 rows, data has 40000". 

关于如何解决这个问题有什么建议吗?

代码如下:

#install.packages("lcmm")
#devtools::install_github("hlennon/LCTMtools")

library(lcmm)
library(LCTMtools)

data( bmi_long, package = "LCTMtools" )
data <- data.frame(bmi_long)

data$id <- as.numeric(data$id)
data$x <-data$age
data$y<-as.numeric(data$bmi)
data <-subset(data, select=c("id", "x", "y"))

m1 <- lcmm(fixed=y ~ x, subject = 'id', data = data)
summary(m1)
postprob(m1)
data$id <- as.numeric(data$id)
groups <- as.data.frame(m1$pprob[,1:2])
data$groups <- factor(groups$class[sapply(data$id, function(x) which(groups$id==x))])
r cluster-analysis
© www.soinside.com 2019 - 2024. All rights reserved.