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).
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) |