2. dailyema.csv - LisaGotzian/HeartSteps GitHub Wiki

Every night, participants responded to an ecological momentary assessment (EMA) about their day. Their responses to the questions are recoreded in dailyema.csv, a 1686x 87 data frame. The EMA collected data on the following topics:

  • notification time and response time
  • the context the user was in during the notification
    • recognized activity (still, active etc.)
    • front end application
    • location data
    • weather data
  • daily EMA questions
    • specific plan to walking by the user
    • how hectic, stressful and typical the day was
    • type of physical activity the user engaged in that day
    • reasons for voting the suggestions in suggestions.csv up or down
    • enablers and barriers for walking that day
  • aggregated step counts before and after the notification
  • identifier: user.index and ema.index

Ratings, agreement levels, likelihoods and confidence levels correspond to a 5-point likert scale (1=strongly agree to 5=strongly disagree).

plot

Columns Description
user.index User ID
ema.index Ema ID
study.date Date of study
study.day Day in study, starting from 0
study.day.nogap Day in study, starting from 0, excluding travel days
weekday Logical, if the study date is a weekday
travel Logical, if a person traveled that day
ema.select.utime Date-time when user selected to receive notification
ema.select.updated Date-time when user changed EMA notification time
ema.notif.utime Date-time when notification was delivered, 1436 records
ema.notif.imput.utime Date-time when notification was delivered (in 1436 cases), however with imputations for NA based on the earliest engagement (in 16 cases) or when unavailable at ema.select.utime (for the remaining 234 cases)
ema.notif.imput.tz Timezone when notification was delivered, updated when phone restarted, not when actually changed timezone
ema.notif.imput.gmtoff Minutes difference of local timezone to UTC when notification was delivered
ema.response.utime Date-time when the EMA was completed, 1214 records
ema.response.tz Timezone when the EMA was completed, updated when phone restarted, not when actually changed timezone
ema.response.gmtoff Minutes difference of local timezone to UTC when the EMA was completed
ema.device.utime Date-time of most recent phone usage before EMA (ema.notif.imput.utime), 1229 records
ema.device.since Hours between EMA (ema.notif.imput.utime) and most recent phone usage (ema.device.utime)
interaction.count Number of times the screen was turned on between EMA notification and EMA interaction
connect Logical, had active connection at notification (226 false, 1460 true)
notify Logical, if a notification was sent (250 false, 1436 true)
view Logical, viewed the notification or responded (457 false, 1229 true)
respond Logical, responded to planning or at least one EMA question (466 false, 1220 true)

EMA Context at notification time

Columns Description
recognized.activity Google Activity Recognition result; the Detected Activity type with the highest confidence level, evaluated within 90 seconds of EMA notification. More information: https://developers\.google\.com/android/reference/com/google/android/gms/location/DetectedActivity
front.end.application Android package name of the application that in use at the notification time. If the screen was turned off, then "NA".
city City name corresponding to the GPS coordinate
location.exact Location description ("work", "home", or establishment name) based on the GPS coordinate
location.category Location category ("work", "home" or the Google Place Type) based on the GPS coordinate
weather.condition Current weather condition classification from Weather Underground's API, based on the GPS coordinate
temperature Temperature in Celsius, based on the GPS coordinate
windspeed Wind speed in miles per hour, based on the GPS coordinate
precipitation.chance Precipitation chance (between 0 and 100) up to 60 minutes from EMA notification, based on the GPS coordinate
snow Snowfall in millimeters, based on the GPS coordinate

Basic EMA

Columns Description
planning Type of planning, populated using responses to planning questions. Possible values: disconnected, no_planning, structured, unstructured. “Structured” is clear time durations and/or clear time points (“when I sit at my desk and feel uncomfortable”), “lunch” is too generic and counts as “unstructured”.
planning.today Type of planning, yesterday’s plan for today from “planning”
planning.response Character, user’s answer to the planning question
follow Answer to: "Last night you made the following plan to be active today: [plan from last night]. How did you do with it today?” With “completely”, “in part”, “other activity” or “none”
ema.set.length Number of EMA questions answered
hectic Rating: “How hectic was your day today?”, asked every day
stressful Rating: “How stressful was your day today?”, asked every day
typical Rating: “How typical was today for a [Monday or Tuesday or Wednesday ... ]? ”, asked every day
energetic Rating: “How energetic did you feel today?”
urge Agreement: “At least once today I felt an urge to get up and take a walk”

Did you do any of the following today? (choose all that apply) - asked every day

Columns Description
active.cardio Answer “Cardio exercise (running, swimming…)”
active.strength Answer “Strength training (weights...)”
active.flex Answer “Flexibility training (yoga, pilates...)”
active.housework Answer “Heavy housework (scrubbing bathtub...)”
active.none Answer “None of the above”

At [time], you received the suggestion [suggestion text] and rated it thumbs-down. Why did you rate it this way? (check all that apply)

Columns Description
down.motivate Answer “The message did not motivate me to be active”
down.action Answer “The message was not sufficiently actionable”
down.difficult Answer “The suggested activity was too difficult to carry out”
down.doable Answer “The suggested activity was not doable when the message arrived”
down.time Answer “The suggestion came at a bad time (e.g. I was too busy, too stressed)”
down.active Answer “The suggestion came too soon after I was last active”
down.other Answer “other”
down.msg The message that was voted down for reference

At [time], you received the suggestion [suggestion text] and rated it thumbs-up. Why did you rate it this way? (check all that apply)

Columns Description
up.motivate Answer “The message motivated me to be active”
up.easy Answer “The suggested activity was easy to carry out”
up.doable Answer “The suggested activity was doable when it arrived”
up.interest Answer “The message piqued my interest”
up.feel Answer “The message made me feel good about working on my health”
up.other Answer “other”
up.msg The message that was voted down for reference

Did any of the following make it difficult for you to be active today? (choose all that apply)

Columns Description
barrier.weather Answer “Poor weather”
barrier.busy Answer “No time/too busy”
barrier.place Answer “No place to be active”
barrier.ill Answer “Illness or injury”
barrier.sore Answer “Sore muscles”
barrier.social Answer “Social or family”
barrier.traffic Answer “Traffic safety”
barrier.personal Answer “Personal safety”
barrier.none Answer “None of the above”
barrier.other Answer “Other”

Did any of the following make it easier for you to be active today? (choose all that apply)

Columns Description
enabler.joined Answer “Others joined me”
enabler.encourage Answer "Others encouraged me”
enabler.weather Answer "Good weather”
enabler.scheduled Answer "I scheduled it in”
enabler.facilities Answer "Facilities/exercise equipment”
enabler.location Answer "Location/scenery”
enabler.none Answer “None”
enabler.other Answer “Other"

Steps and app usage data

Columns Description
jbsteps.direct Number of daily steps for this user on this day (fetched from jawbone website)
jbsteps.agg Number of daily steps for this user on this day (aggregated manually by intake timezone, differed in 58 cases from jbsteps.direct)
gfsteps Number of steps for this user on this day measured using the phone accelerometer
app.sessions Numeric, times the app was opened that day. Not meaningful because the app didn’t offer much functionality and was mostly delivering notifications
app.secs Numeric, seconds spent in app per day (must be at least 2 seconds)
app.secs.all Numeric, seconds spent in app per day (includes all)