Как сгенерировать скрытую переменную из множества переменных разных типов с помощью R? - PullRequest
0 голосов
/ 12 июня 2019

Для n числа наблюдений, я хочу создать скрытую переменную (ненаблюдаемую), я могу предположить или нет, что эта переменная имеет определенное распределение или нет, из набора других переменных, которые проксируют эту скрытую переменную.В моем конкретном случае я хочу создать скрытую способность из набора переменных, которые являются прокси-способностью (наблюдаемой способностью).Одна переменная является дискретной и демонстрирует нормальность, другая - двоичная, но очень искаженная, а последняя - упорядоченная категориальная переменная.Это похоже на мои данные, и я хотел бы оценить ответ для каждого наблюдения.

set.seed(123877)
# number of units
n <- 1000L

# age
age <- sample(rnorm(n, 25, 10))

# cum laude 
hon <- sample(0L:1L, n, TRUE, prob = c(.9, .1) )

# prestige of university
pres <- factor(sample(1L:25L, n, TRUE), labels = 25L:1L, ordered = T)

dat <- data.frame(id=1L:n, age, hon, pres)

1 Ответ

0 голосов
/ 13 июня 2019

Я нашел решение, используя пакет ltm, вот код:

set.seed(123877)
u.latent <- vector()
class(u.latent) <- 'try-error'

library('ltm')
while (class(u.latent)=='try-error') {
# numer of units
n <- 1000L

# age
age <- round(rnorm(n, 25, 10))

# cum laude 
hon <- sample(0L:1L, n, TRUE, prob = c(.9, .1) )

# prestige of university
pres <- sample(1L:10L, n, TRUE)

# pres <-factor(pres, levels = 1L:25L, ordered = TRUE)
dat <- data.frame(age, hon, pres)

# latent variable  
u.latent <- try(gpcm(dat))  
}

Мы можем проверить, соответствует ли модель данным:

GoF.gpcm(u.latent)
#H0 the model fits the data
#Ha: the model does not fit the data

Оценкииз скрытых переменных прямо вперед:

u.estimates <-factor.scores(u.latent)
hist(u.estimates$score.dat$z1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...