REE Classical Music

Obesity is a growing problem worldwide. Many scientists are seeking creative solutions to trim down this epidemic. Reduced energy expenditure is a potential cause of obesity. Resting energy expenditure (REE) is defined as the amount of energy a person would use if resting for 24 hours. In essence, this is the amount of energy that a person’s body will consume if they do not do any physical activity. REE is measured in terms of kilojoules per day (kJ/d). REE accounts for approximately 70 to 80% of all energy that a person will expend in a day. If researchers can find simple, enjoyable activities that will increase REE, it may be possible to minimize the spread of obesity around the world. Ebba Carlsson and other researchers in Sweden investigated the effect of listening to stressful classical music on a person’s REE. The REE was measured by indirect calorimetry using the Deltatrac II Metabolic Monitor. Each subject’s REE was measured during silence and again while listening to stressful classical music. The “stressful” classical music included: Béla Bartók’s String Quartet No. 4 : Prestissimo, con sordino Igor Stravinsky’s “Infernal Dance of all Kashchei’s Subjects” from The Firebird Hans Werner Henze’s “Dies Irae,” second movement from Requiem: Nine Sacred Concertos for Piano, Trumpet Concertante and Chamber Orchestra Dataset consists of simulated data matching reported summary statistics.
MATH221
music
psychology
health
Author

MATH 221

Published

May 1, 2024

Data details

There are 40 rows and 3 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/ree_classical_music.

This data is available to all.

Variable description

  • Silence: Resting Energy Expenditure (REE) during silence (kilojoules per day)
  • Stressful: REE during stressful classical music in kilojoules per day
  • Difference: Difference between the two REEs

Variable summary

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Silence 0 1 5720 1063.12 3120 4992.5 5760 6457.5 8180 ▁▇▇▇▂
Stressful 0 1 5740 1045.88 3310 5135.0 5880 6455.0 8300 ▂▆▇▇▁
DIfference 0 1 20 159.50 -340 -87.5 20 140.0 320 ▂▅▇▇▃
NULL
Explore generating code using R
library(tidyverse)
library(pins)
library(connectapi)

ree_classical_music <- read_csv('https://github.com/byuistats/data/raw/master/REE-ClassicalMusic/REE-ClassicalMusic.csv')


# Publish the data to the server with Bro. Hathaway as the owner.
board <- board_connect()
pin_write(board, ree_classical_music, type = "parquet", access_type = "all")

pin_name <- "ree_classical_music"
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: ree_classical_music.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/ree_classical_music/"
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("ree_classical_music")

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/ree_classical_music")
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/ree_classical_music")