Dutch child height and weight measurements

Longitudinal height and weight measurements during ages 0-2 years for a representative sample of 1,933 Dutch children born in 1988-1989.
health
child
Author

DS 150

Published

November 5, 2023

Data details

There are 2,000 rows and 8 columns. The data source1 is used to create our data that is stored in our pins table. You can access this pin from a connection to posit.byui.edu using hathawayj/childhealth_dutch.

Variable description

  • subjid: unique identifyer of each child
  • sex: Male or Female
  • agedays: Age in days
  • gagebrth: Gestational age at birth (days)
  • htcm: Length/height in cm (34-102)
  • wtkg: Weight measurement in kg (0.8-20.5)
  • haz: Height in SDS relative to WHO child growth standard
  • waz: Weight in SDS relative to WHO child growth standard

Variable summary

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
subjid 0 1.00 10637.52 500.27 10001.00 10064.00 11018.00 11072.00 11127.00 ▆▁▁▁▇
agedays 3 1.00 274.38 238.33 0.00 58.00 196.00 456.00 978.00 ▇▃▃▂▁
gagebrth 0 1.00 281.35 12.52 227.00 276.00 283.00 290.00 304.00 ▁▁▂▇▆
htcm 40 0.98 69.08 12.42 38.00 57.50 69.50 79.00 97.00 ▁▇▆▇▂
wtkg 19 0.99 8.10 3.30 1.18 5.08 8.22 10.70 16.50 ▅▇▇▆▂
haz 40 0.98 0.30 1.10 -6.60 -0.38 0.37 1.02 3.71 ▁▁▃▇▁
waz 19 0.99 0.29 0.99 -5.98 -0.30 0.33 0.96 3.11 ▁▁▂▇▂

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
sex 0 1 4 6 0 2 0
Explore generating code using R
pacman::p_load(tidyverse, fs, sf, arrow, googledrive, downloader, fs, glue, rvest, pins, connectapi)

tdat <- tempfile()
download("https://github.com/stefvanbuuren/brokenstick/raw/71dc99e62ce57b58d5c1d2a1074fbd4bf394e559/data/smocc_hgtwgt.rda",tdat, mode = "wb")

load(tdat)

childhealth_dutch <- smocc_hgtwgt |>
  select(subjid, sex, agedays, gagebrth, htcm, wtkg, haz, waz)

board <- board_connect()

pin_write(board, childhealth_dutch, "childhealth_dutch", type = "parquet", access_type = "all")

pin_name <- "childhealth_dutch"
meta <- pin_meta(board, paste0("hathawayj/", pin_name))
client <- connect()
my_app <- content_item(client, meta$local$content_id)
set_vanity_url(my_app, paste0("data/", pin_name))

Access data

This data is available to all.

Direct Download: childhealth_dutch.parquet

R and Python Download:

URL Connections:

For public data, any user can connect and read the data using pins::board_connect_url() in R.

library(pins)
url_data <- "https://posit.byui.edu/data/childhealth_dutch/"
board_url <- board_connect_url(c("dat" = url_data))
dat <- pin_read(board_url, "dat")

Use this custom function in Python to have the data in a Pandas DataFrame.

import pandas as pd
import requests
from io import BytesIO

def read_url_pin(name):
  url = "https://posit.byui.edu/data/" + name + "/" + name + ".parquet"
  response = requests.get(url)
  if response.status_code == 200:
    parquet_content = BytesIO(response.content)
    pandas_dataframe = pd.read_parquet(parquet_content)
    return pandas_dataframe
  else:
    print(f"Failed to retrieve data. Status code: {response.status_code}")
    return None

# Example usage:
pandas_df = read_url_pin("childhealth_dutch")

Authenticated Connection:

Our connect server is https://posit.byui.edu which you assign to your CONNECT_SERVER environment variable. You must create an API key and store it in your environment under CONNECT_API_KEY.

Read more about environment variables and the pins package to understand how these environment variables are stored and accessed in R and Python with pins.

library(pins)
board <- board_connect(auth = "auto")
dat <- pin_read(board, "hathawayj/childhealth_dutch")
import os
from pins import board_rsconnect
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv('CONNECT_API_KEY')
SERVER = os.getenv('CONNECT_SERVER')

board = board_rsconnect(server_url=SERVER, api_key=API_KEY)
dat = board.pin_read("hathawayj/childhealth_dutch")