tests/testthat/test_ispanel.R

library(dplyr)
library(stringr)
library(statar)
context("is.panel")

df <- tibble(
    id1    = c(1, 1, 1, 2, 2),
    id2   = 1:5,
    year  = c(1991, 1993, NA, 1992, 1992),
    value = c(4.1, 4.5, 3.3, 3.2, 5.2)
)
df1 <- df %>% filter(!is.na(year))

test_that("is.panel works", {
  expect_equal(df %>% group_by(id1) %>% is.panel(year), FALSE)
  expect_equal(capture_messages(df %>% group_by(id1) %>% is.panel(year)), c("Variable year has missing values in 1 row(s): 3\n", "Variables (id1 , year) have duplicates for rows (4,5)\n"))     
  expect_equal(df1 %>% is.panel(year), FALSE)
  expect_equal(capture_messages(df1 %>% is.panel(year)), "Variables (year) have duplicates for rows (3,4)\n")
  expect_equal(df1 %>% group_by(id1) %>% is.panel(year), FALSE)
  expect_equal(capture_messages(df1 %>% group_by(id1) %>% is.panel(year)), "Variables (id1 , year) have duplicates for rows (3,4)\n")
  expect_equal(df1 %>% group_by(id1, id2) %>% is.panel(year), TRUE)
})

Try the statar package in your browser

Any scripts or data that you put into this service are public.

statar documentation built on Aug. 19, 2023, 5:09 p.m.