@@ -2,12 +2,15 @@ data("WageData")
2
2
3
3
# Defaults ----------------------------------------------------------------
4
4
context(" wbm defaults" )
5
- wages <- WageData
5
+ WageData <- WageData %> %
6
+ mutate(
7
+ south_names = factor (ifelse(south == 0 , " north" , " south" )),
8
+ union_names = factor (ifelse(union == 1 , " yes" , " no" ))
9
+ )
10
+ wages <- panel_data(WageData , id = id , wave = t )
6
11
wages <- wages [8 : 210 ,] # Reduce runtime
7
12
# Add arbitrary weights for testing
8
13
wages $ wts <- runif(nrow(wages ), 0.3 , 3 )
9
- # Make it a panel data frame
10
- wages <- panel_data(wages , id = id , wave = t )
11
14
wb <- wbm(wks ~ union + lwage | blk , data = wages )
12
15
13
16
test_that(" wbm defaults work" , {
@@ -224,6 +227,34 @@ test_that("wbm works with multiple random effects", {
224
227
})
225
228
expect_s4_class(wb , " wbm" )
226
229
})
230
+
231
+ test_that(" wbm works with factors in random effect" , {
232
+ suppressWarnings({
233
+ wb <- wbm(wks ~ union_names + lag(lwage ) | blk | (union_names | id ) +
234
+ (lag(lwage ) | id ),
235
+ data = wages )
236
+ })
237
+ expect_s4_class(wb , " wbm" )
238
+ })
239
+
240
+ test_that(" wbm works with lagged factors in random effect" , {
241
+ suppressWarnings({
242
+ wb <- wbm(wks ~ union_names + lag(lwage ) | blk | (lag(union_names ) | id ) +
243
+ (lwage | id ),
244
+ data = wages )
245
+ })
246
+ expect_s4_class(wb , " wbm" )
247
+ })
248
+
249
+ test_that(" wbm works with variable only in random effect" , {
250
+ suppressWarnings({
251
+ wb <- wbm(wks ~ lag(lwage ) | blk | (union_names | id ) +
252
+ (lag(lwage ) | id ),
253
+ data = wages )
254
+ })
255
+ expect_s4_class(wb , " wbm" )
256
+ })
257
+
227
258
test_that(" wbm summary works" , {
228
259
expect_s3_class(swb <- summary(wb ), " summary.wbm" )
229
260
expect_output(print(swb ))
0 commit comments