4 Analysis
I move on to the analyses.
We have about a dozen models to run.
All of these models should take into account that the data are nested (in participants and days).
That means quite complex model structures, especially when we have many predictors.
The lme4
package can handle such multi-level models, but in my experience suffers from many convergence issues that a Bayesian approach (i.e., the brms
package) can handle better (see this paper for a comparison on convergence).
Moreover, corrections for multiple comparisons are less of a problem with Bayesian models.
Last, although the models here are mostly exploratory, we can still incorporate prior knowledge from the literature (and common sense about our variables).
4.1 Research questions
We have a total of 9 research questions. I divide them in three blocks:
- To what extent do specific person-level variables such as personality and motivational factors shape the accuracy of social media time engagement?
- To what extent do subjective experiences such as mood predict and or interact with person-level factors to shape the accuracy of social media time engagement?
- What are the unique relations relating objective and subjective engagement to well-being outcomes?
Each of those questions comes with a number of models. I’ll structure the analysis section according to those blocks.
4.2 Data preparation
I processed the dat
data set in previous sections.
Specifying priors on the untransformed variables can be tough.
In some analyses (e.g., predicting social media use) I’ll use centered predictors to make it easier to interpret the intercept.
In other analyses (e.g., predicting error), I want to standardize outcomes and predictors of interest because standardized variables make it easier to choose sensible priors, especially because we can use standardized effect sizes reported in the literature.
Standardizing also makes it easier to interpret the effect sizes.
First, I transform all variables of interest (into new variables).
dat <-
dat %>%
# center personality variables
mutate(
across(
c(
autonomy_state:relatedness_state,
satisfied:enjoyable,
autonomy_trait:openness
),
~ scale(.x, center = TRUE, scale = FALSE),
.names = "{col}_c" # add "_c" suffix to new variables for "centered"
)
)
NA
s there are per variable.
Table 4.1 shows that missing values aren’t a big problem.
The missings come from rows where participants didn’t answer the diary, but did report screen time mostly.
| name | value |
|---|---|
| social_media_subjective | 51 |
| pickups_subjective | 38 |
| notifications_subjective | 38 |
| social_media_objective | 51 |
| error | 53 |
| pickups_objective | 30 |
| weekly_notifications | 0 |
| well_being_state | 40 |
| autonomy_state | 39 |
| competence_state | 39 |
| relatedness_state | 39 |
| satisfied | 42 |
| boring | 42 |
| stressful | 41 |
| enjoyable | 44 |
| autonomy_trait | 0 |
| competence_trait | 0 |
| relatedness_trait | 0 |
| extraversion | 0 |
| agreeableness | 0 |
| conscientiousness | 0 |
| neuroticism | 0 |
| openness | 0 |
4.3 Do trait variables predict social media use and accuracy?
Our first research question asks whether personality traits and trait motivations predict the accuracy of social media time engagement. Specifically, we have three models that address the following sub-questions:
- Do person-level variables predict objective-only engagement?
- Do person-level variables predict subjective-only engagement?
- Do person-level variables predict accuracy?
I’ll construct a model for each of those three questions.
Our dependent variables are clear-cut: social_media_objective
, social_media_subjective
, and error
.
Our predictors will be variables on the person-level, so trait/personality variables: the Big Five and the three self-determination motivations.
Note, I saved all brms
model objects and load them below.
Each model takes quite some time and the files get large (a total of half a GB).
If you’re reproducing the analysis and don’t want to run the models yourself, you can download the model objects from the OSF.
For that, you need to set the code chunk below to eval=TRUE
, which creates a model/
directory with all models inside.
# create directory
dir.create("models/", FALSE, TRUE)
# download models
osf_retrieve_node("https://osf.io/7byvt/") %>%
osf_ls_nodes() %>%
filter(name == "models") %>%
osf_ls_files(
.,
n_max = Inf
) %>%
osf_download(
.,
path = here("models"),
progress = FALSE
)
4.3.1 Model 1: Trait variables predicting objective use
First, I choose sensible priors. There’s some literature out there on Big Five and smartphone use, as well as motivations and smartphone use. If we only knew the mean and variance of the social media estimates, a Gaussian distribution would be most appropriate. However, we do know more than just those two parameters. Namely, we know that the scale is continuous (i.e., time) and cannot be less than zero. Also, if we look at the distribution of time on an activity, the variance usually increases with the mean. Therefore, a gamma distribution appears more adequate to me.
That means the models will use a log-link, which makes it hard to have an intuition about prior distributions (at least for me). Thus, I follow the recommendations of McElreath and simulate the priors.
- For the intercept, we can look at previous research. For example, this paper has average phone use times of about two hours per participant per day. Here, we only looked at social media use, so as a guess-timate with reasonable uncertainty, I’ll choose a lognormal distribution with a meanlog of 4.5 and a meansd of 0.8. See the upper left panel of Figure 4.1. That intercept has mots its value below two hours, but allows substantial skew for a couple of heavy users.
- For the shape of the gamma distribution, I also played around and settled on one that somewhat resembles our assumptions on the intercept, such that the majority of values will be below five hours with a couple of heavy users (see left side upper panel).
- For the Big Five fixed effects, this paper predicted social media use with the Big Five over two time period in a longitudinal design. They found that only neuroticism was related to social media use, but that effect was extremely small (\(\beta\) = .028). None of the other effects were large. Therefore, I’ll use rather flat, weakly regularizing priors for those effects. In 4.1, lower panel, I’ll use the prior on the left, because it’s skeptical, but regularizing. The one on the right might be too optimistic by suggesting a small positive effect.
- For basic psychological needs, there’s quite some literature on these needs and pathological smartphone use (“smartphone addiction”). However, there’s little info we could use for priors, so I’ll just go with the same prior as for the Big Five. See the top right of the Figure below.
- For all other parameters, I’ll take the
brms
default priors.
Let’s set those priors we simulated above.
priors_model1 <-
c(
# intercept
prior(normal(4.5, 0.8), class = Intercept),
# prior on effects
prior(normal(0, 0.1), class = b),
# all other effects
prior(gamma(2.5, 100), class = shape)
)
Alright, time to run the model. Luckily, none of these variables have missing values, so I won’t need to model missings in this model. Note that I ran the block below once and stored the model. Those fit objects are too large for Github, so you can download them from the OSF. See the instructions in the Readme of the project.
model1 <-
brm(
data = dat,
family = Gamma(link = "log"),
prior = priors_model1,
social_media_objective ~
1 +
openness_c +
conscientiousness_c +
extraversion_c +
agreeableness_c +
neuroticism_c +
competence_trait_c +
relatedness_trait_c +
autonomy_trait_c +
(1 | id) +
(1 | day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(adapt_delta = 0.99),
file = here("models", "model1")
)
Let’s also check for potentially influential values. None are tagged as influential, which increases my trust in the model.
##
## Computed from 12000 by 428 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2440.0 14.4
## p_loo 20.7 1.4
## looic 4880.0 28.8
## ------
## Monte Carlo SE of elpd_loo is 0.1.
##
## All Pareto k estimates are good (k < 0.5).
## See help('pareto-k-diagnostic') for details.
Alright, time to look at the summary: neuroticism and competence are the only predictors whose posterior distribution isn’t centered on zero. That said, we cannot be 95% certain the true value doesn’t contain zero.
## Family: gamma
## Links: mu = log; shape = identity
## Formula: social_media_objective ~ 1 + openness_c + conscientiousness_c + extraversion_c + agreeableness_c + neuroticism_c + competence_trait_c + relatedness_trait_c + autonomy_trait_c + (1 | id) + (1 | day)
## Data: study1 (Number of observations: 428)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## b ~ normal(0, 0.1)
## Intercept ~ normal(4.5, 0.8)
## sd ~ student_t(3, 0, 2.5)
## shape ~ gamma(2.5, 100)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.06 0.07 0.00 0.23 1.00 5873 6154
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.49 0.07 0.35 0.64 1.00 3739 6583
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 4.82 0.08 4.67 4.97 1.00 5813 6625
## openness_c 0.00 0.08 -0.16 0.16 1.00 11686 9877
## conscientiousness_c -0.01 0.08 -0.16 0.15 1.00 12552 9686
## extraversion_c 0.10 0.07 -0.04 0.24 1.00 9902 9429
## agreeableness_c -0.07 0.08 -0.22 0.09 1.00 10920 9571
## neuroticism_c 0.12 0.08 -0.05 0.28 1.00 11221 9205
## competence_trait_c -0.10 0.07 -0.24 0.05 1.00 8796 7816
## relatedness_trait_c -0.01 0.06 -0.13 0.11 1.00 9211 9015
## autonomy_trait_c -0.04 0.07 -0.17 0.09 1.00 8964 8810
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## shape 1.47 0.10 1.27 1.68 1.00 9250 8357
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.6) shows that visually, but also shows that the model does a fine job in describing the data, given the relatively (at least on the log scale) narrow 95% credible interval.
Overall, there’s little evidence that personality traits are related so smartphone use, except for some tentative evidence that neurotic people use more social media and those who generally feel a level of competence in their lives use them less.
4.3.2 Model 2: Trait variables predicting subjective use
Next up, I predict subjective use from the same predictors. We know that objective and subjective use aren’t perfectly correlated. Then again, the priors for Model 1 were only weakly regularizing, which is why I use the same priors again.
priors_model2 <-
c(
# intercept
prior(normal(4.5, 0.8), class = Intercept),
# prior on effects
prior(normal(0, 0.1), class = b),
# all other effects
prior(gamma(2.5, 100), class = shape)
)
Alright, time to run the model. The subjective social media estimate had one missing value. Usually I’d impute missing values during model fitting, but with one, I think it’s safe to drop it.
model2 <-
brm(
data = dat,
family = Gamma(link = "log"),
prior = priors_model2,
social_media_subjective ~
1 +
openness_c +
conscientiousness_c +
extraversion_c +
agreeableness_c +
neuroticism_c +
competence_trait_c +
relatedness_trait_c +
autonomy_trait_c +
(1 | id) +
(1 | day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(adapt_delta = 0.999),
file = here("models", "model2")
)
Let’s again check for potentially influential values. The model diagnostics look good. Even though there were several rather large raw values on the outcome variable, the model expects them because we model the outcome as a Gamma distribution. We need to calculate ELPD directly, which shows no outliers.
## 1 problematic observation(s) found.
## The model will be refit 1 times.
##
## Fitting model 1 out of 1 (leaving out observation 392)
## Start sampling
##
## Computed from 12000 by 428 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2502.2 15.9
## p_loo 24.6 1.6
## looic 5004.4 31.8
## ------
## Monte Carlo SE of elpd_loo is 0.1.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 421 98.4% 412
## (0.5, 0.7] (ok) 7 1.6% 2552
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Alright, time to look at the summary. This time, all posterior distributions are mostly centered around zero, so we can be 95% (always conditional on the model) certain that personality traits and motivations are not meaningfully (i.e., large effect) related to self-reported social media use. Maybe autonomy gets close, but the posterior distributions still includes zero and small negative effects.
## Family: gamma
## Links: mu = log; shape = identity
## Formula: social_media_subjective ~ 1 + openness_c + conscientiousness_c + extraversion_c + agreeableness_c + neuroticism_c + competence_trait_c + relatedness_trait_c + autonomy_trait_c + (1 | id) + (1 | day)
## Data: study1 (Number of observations: 428)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## b ~ normal(0, 0.1)
## Intercept ~ normal(4.5, 0.8)
## sd ~ student_t(3, 0, 2.5)
## shape ~ gamma(2.5, 100)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.07 0.07 0.00 0.25 1.00 5313 5290
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.51 0.08 0.36 0.66 1.00 3414 5977
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 4.92 0.08 4.76 5.08 1.00 5160 5656
## openness_c -0.04 0.08 -0.21 0.12 1.00 9524 8983
## conscientiousness_c -0.08 0.08 -0.24 0.08 1.00 8766 9443
## extraversion_c 0.06 0.07 -0.08 0.20 1.00 7976 7997
## agreeableness_c -0.04 0.08 -0.19 0.12 1.00 8628 8552
## neuroticism_c 0.06 0.08 -0.10 0.21 1.00 9739 9263
## competence_trait_c -0.04 0.07 -0.19 0.10 1.00 8340 8625
## relatedness_trait_c -0.02 0.06 -0.14 0.10 1.00 7666 7707
## autonomy_trait_c -0.09 0.07 -0.22 0.04 1.00 7668 8591
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## shape 1.33 0.09 1.16 1.52 1.00 6185 9161
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.11) visually confirms that none of the predictors seem influential.
4.3.3 Model 3: Trait variables predicting accuracy
For this model, it’s hard to choose informed priors, mainly because there’s no literature on the relation between personality traits and accuracy. Also, it’s unclear what distribution for accuracy we should expect prior to having seen the data. The few papers out there show that people generally overestimate their (social) media use, which would speak for centering the distribution on a positive value (i.e., positive error). Other than that, I’d expect a normal distribution, quite likely with fat tails, and possibly right skewed. Therefore, I’ll use a student-t distribution outcome family. I start with a t distribution as prior for the intercept that is slightly centered on overestimates (i.e., 20%), but with quite some potential for extreme values and fairly fat tails. See Figure 4.12 left panel, for a visualization.
As for the effects of the personality traits, I’ll be skeptical of any effects and thus use weakly regularizing normal priors that are centered on zero, with a small range for the effect: If a person goes from average on a trait to one above average, we’d expect that 95% of the effects should be between -50% and +50% (i.e., SD of 25). See the right panel in the figure below for a visualization.Then let’s set those priors we simulated above.
priors_model3 <-
c(
# intercept
prior(student_t(10, 20, 100), class = Intercept),
# all other effects
prior(normal(0, 25), class = b)
)
error
had 53 missing values.
Again, with such few cases, I’m fine with dropping those during model fitting.
model3 <-
brm(
data = dat,
family = student,
prior = priors_model3,
error ~
1 +
openness_c +
conscientiousness_c +
extraversion_c +
agreeableness_c +
neuroticism_c +
competence_trait_c +
relatedness_trait_c +
autonomy_trait_c +
(1 | id) +
(1 | day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(adapt_delta = 0.99),
file = here("models", "model3")
)
Let’s again check for potentially influential values.
Three potentially influential cases are flagged, which is why we calculate them precisely by setting reloo
to TRUE
.
When we calculate ELPD directly, all values appear unproblematic.
The results seem trustworthy.
## 3 problematic observation(s) found.
## The model will be refit 3 times.
##
## Fitting model 1 out of 3 (leaving out observation 40)
##
## Fitting model 2 out of 3 (leaving out observation 43)
##
## Fitting model 3 out of 3 (leaving out observation 111)
## Start sampling
## Start sampling
## Start sampling
##
## Computed from 12000 by 426 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2415.2 31.4
## p_loo 136.1 6.7
## looic 4830.3 62.7
## ------
## Monte Carlo SE of elpd_loo is 0.2.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 421 98.8% 436
## (0.5, 0.7] (ok) 5 1.2% 714
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. There doesn’t seem to be much going on when it comes to the predictors. For all predictors, we cannot be 95% certain that zero isn’t the true effect (conditional on the model). Again, neuroticism comes close.
## Family: student
## Links: mu = identity; sigma = identity; nu = identity
## Formula: error ~ 1 + openness_c + conscientiousness_c + extraversion_c + agreeableness_c + neuroticism_c + competence_trait_c + relatedness_trait_c + autonomy_trait_c + (1 | id) + (1 | day)
## Data: study1 (Number of observations: 426)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## b ~ normal(0, 25)
## Intercept ~ student_t(10, 20, 100)
## nu ~ gamma(2, 0.1)
## sd ~ student_t(3, 0, 57.7)
## sigma ~ student_t(3, 0, 57.7)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 3.21 3.59 0.11 11.79 1.00 5317 5339
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 64.47 6.40 52.80 77.92 1.00 2251 3791
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 13.34 7.62 -1.10 28.66 1.00 2110 4056
## openness_c -16.81 13.17 -42.62 9.80 1.00 2867 4647
## conscientiousness_c -10.92 13.30 -36.68 15.14 1.00 2861 5033
## extraversion_c -3.45 9.78 -22.74 16.05 1.00 2531 4145
## agreeableness_c -8.85 12.86 -34.32 16.69 1.00 2758 4088
## neuroticism_c -21.89 13.39 -48.27 4.58 1.00 2828 4561
## competence_trait_c 11.31 10.95 -10.34 32.57 1.00 2710 4601
## relatedness_trait_c -0.79 9.09 -18.85 16.70 1.00 2056 3941
## autonomy_trait_c -2.66 9.59 -21.25 16.33 1.00 2594 4595
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 23.26 2.23 19.16 27.85 1.00 5374 7711
## nu 1.20 0.11 1.02 1.46 1.00 5581 4487
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.18) visually confirms that none of the predictors seem largely influential.
If anything, it appears neurotic people might underestimate their social media use, but again their interval contains zero.
4.4 Do state (i.e., day-level) variables predict social media use and accuracy?
For the next section, we look at whether day-level variables (i.e., variables reported during experience sampling) predict subjective use, objective use, and accuracy. Again, we have three questions:
- Do day-level variables predict objective-only engagement?
- Do day-level variables predict subjective-only engagement?
- Do day-level variables predict accuracy?
Once more I’ll construct a model for each of those three questions.
Our dependent variables are the same as in the previous block of models: social_media_objective
, social_media_subjective
, and error
.
Our predictors will be variables on the day-level, so state variables: need satisfaction for autonomy, competence, and relatedness as well as four experiential qualities during participants’ days (boredom, enjoyment, satisfaction, and stress).
Because we want to separate between-person and within-person effects, we’ll do group-mean centering (i.e., per participant) and the calculate the deviation of each observation from that group mean. We enter both the person mean and their deviation as predictors, which will lead to a lot of variables, because each of the seven predictors will be separated into a between-person and a within-person predictor. See this blogpost for a tutorial on centering.
dat <-
dat %>%
group_by(id) %>%
mutate(
across(
c(autonomy_state:relatedness_state, satisfied:enjoyable),
list(
between = ~ mean(.x, na.rm = TRUE),
within = ~.x - mean(.x, na.rm = TRUE)
)
)
) %>%
ungroup()
4.4.1 Model 4: State variables predicting objective use
First, I choose sensible priors. In contrast to previous models, there isn’t much literature that could inform priors on our predictors. The same goes for the experiential qualities. We’ll go with a “maximal” model where each participant and day get their own intercept plus random slopes nested within participant, because it’s plausible that the effects vary per participant. They could also vary by day, but a) there was little to no variation for day in previous models, and b) that would lead to more parameters than our little data could handle. Just like before we assume a Gamma distribution for the social media variables.
I’ll go step-by-step:
- For the intercepts, I use the same prior as above in Models 1 and 2.
- For basic psychological needs fixed effects, this paper reports very small relations between self-determined motivations at work and social media use (\(\beta\) < .06). However, most of the literature focuses on those motivations and social media addiction, enjoyment of social media, or satisfaction with social media. Therefore, I’ll use weakly regularizing priors for those effects, which means I’ll go with the same prior for the effects as for Models 1 and 2. I would expect larger differences on the between-level, based on the literature on media use and well-being. However, we don’t have that info for our predictors and the priors are rather weak, so I’ll apply them to both between and within predictors.
- For the experiential qualities, there isn’t much literature out there that would allow choosing an informed prior. Most of those experiential qualities are about having a fulfilled and good day, which taps into the whole controversy over the relation between such experiences and social media. Therefore, I’ll take a skeptical stance here and again assign the same weakly regularizing priors (aka the priors we also used for Models 1 and 2).
- For the variances (sigmas) I’ll take the
brms
default priors because I have no prior information, nor how the effects vary across day and participant. - For the correlation between intercepts and slopes, I’ll again use the default prior, mostly because those have shown to help with convergence and I don’t have good information on which correlation to expect.
priors_model4 <-
c(
# intercept
prior(normal(4.5, 0.8), class = Intercept),
# prior on effects
prior(normal(0, 0.1), class = b),
# prior on shape
prior(gamma(2.5, 100), class = shape)
)
Let’s run the model. Note that the within-deviations can vary per participant, but not the between effects.
model4 <-
brm(
data = dat,
family = Gamma(link = "log"),
prior = priors_model4,
social_media_objective ~
1 +
autonomy_state_between +
competence_state_between +
relatedness_state_between +
satisfied_between +
boring_between +
stressful_between +
enjoyable_between +
autonomy_state_within +
competence_state_within +
relatedness_state_within +
satisfied_within +
boring_within +
stressful_within +
enjoyable_within +
(
1 +
autonomy_state_within +
competence_state_within +
relatedness_state_within +
satisfied_within +
boring_within +
stressful_within +
enjoyable_within |
id
) +
(1 |day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(
adapt_delta = 0.99
),
file = here("models", "model4")
)
Next, we check for potentially influential cases. There are none.
##
## Computed from 12000 by 420 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2412.8 14.1
## p_loo 25.6 1.6
## looic 4825.6 28.1
## ------
## Monte Carlo SE of elpd_loo is 0.1.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 408 97.1% 4830
## (0.5, 0.7] (ok) 12 2.9% 1078
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. There doesn’t seem to be much going on when it comes to the predictors.
 For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.31) visually confirms that none of the predictors seem influential.
Note that the correlations between random effects are on different scales which explains why the CI around them are so wide.
Except for the correlations, all effects are on the log scale because we used a Gamma distribution, but the correlations are regularly on a scale of -1 to 1.
4.4.2 Model 5: State variables predicting subjective use
The next model predicts subjective use from the same predictors. Once more, we know that subjective and objective use aren’t perfectly correlated, but the priors for Model 4 again are our best bet here (for both within-person and between-person effects).
priors_model5 <-
c(
# intercept
prior(normal(4.5, 0.8), class = Intercept),
# prior on effects
prior(normal(0, 0.1), class = b),
# prior on shape
prior(gamma(2.5, 100), class = shape)
)
Let’s run the model. Like with Model 2, we don’t separately model zeros.
model5 <-
brm(
data = dat,
family = Gamma(link = "log"),
prior = priors_model4,
social_media_subjective ~
1 +
autonomy_state_between +
competence_state_between +
relatedness_state_between +
satisfied_between +
boring_between +
stressful_between +
enjoyable_between +
autonomy_state_within +
competence_state_within +
relatedness_state_within +
satisfied_within +
boring_within +
stressful_within +
enjoyable_within +
(
1 +
autonomy_state_within +
competence_state_within +
relatedness_state_within +
satisfied_within +
boring_within +
stressful_within +
enjoyable_within |
id
) +
(1 |day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(
adapt_delta = 0.99
),
file = here("models", "model5")
)
There are no cases flagged as potentially influential outliers.
## 1 problematic observation(s) found.
## The model will be refit 1 times.
##
## Fitting model 1 out of 1 (leaving out observation 384)
## Start sampling
##
## Computed from 12000 by 420 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2466.6 15.8
## p_loo 28.8 1.6
## looic 4933.2 31.6
## ------
## Monte Carlo SE of elpd_loo is 0.1.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 393 93.6% 1996
## (0.5, 0.7] (ok) 27 6.4% 1886
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. Having an enjoyable and boring day might be related to estimating more social media use (on the between level). Conversely, a feeling of competence might decrease estimates. However, all three of those posterior distributions include zero, even though it’s close.
 For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.44) visually that those three states might be influential, but their CIs overlap with zero.
4.4.3 Model 6: State variables predicting accuracy
For this model, once more it’s hard to choose informed priors.
Therefore, I choose the same skeptical, but weakly regularizing priors as for Model 3, with a student t distribution with fat tails, an intercept that reflects a tendency to overestimate, and slopes that are skeptical of large effects.
For everything else, I’ll use the brms
default priors because I don’t have information on what correlation or variances to expect.
Note that I use the priors on the slope for both between and within effects, simply because I don’t have an informed guess about the two being different.
priors_model6 <-
c(
# intercept
prior(student_t(10, 20, 100), class = Intercept),
# all other effects
prior(normal(0, 25), class = b)
)
Let’s run the model.
model6 <-
brm(
data = dat,
family = student,
prior = priors_model6,
error ~
1 +
autonomy_state_between +
competence_state_between +
relatedness_state_between +
satisfied_between +
boring_between +
stressful_between +
enjoyable_between +
autonomy_state_within +
competence_state_within +
relatedness_state_within +
satisfied_within +
boring_within +
stressful_within +
enjoyable_within +
(
1 +
autonomy_state_within +
competence_state_within +
relatedness_state_within +
satisfied_within +
boring_within +
stressful_within +
enjoyable_within |
id
) +
(1 |day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(
adapt_delta = 0.99
),
file = here("models", "model6")
)
Two cases are flagged as potential outliers, which disappear once calculated directly.
## 2 problematic observation(s) found.
## The model will be refit 2 times.
##
## Fitting model 1 out of 2 (leaving out observation 39)
##
## Fitting model 2 out of 2 (leaving out observation 128)
## Start sampling
## Start sampling
##
## Computed from 12000 by 418 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2368.1 30.7
## p_loo 204.2 7.8
## looic 4736.3 61.4
## ------
## Monte Carlo SE of elpd_loo is 0.2.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 415 99.3% 524
## (0.5, 0.7] (ok) 3 0.7% 965
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. All posteriors include 0, only satisfaction (within) comes close.
 For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.58) visually confirms what I wrote above.
Note the difference in scale: everything except the correlations are in percent error, whereas the correlations are on their -1 to 1 scale.
4.5 Does social media use predict well-being?
For this RQ, we have three questions blocks. We want to know how day-level social media use (both types) and accuracy are related to well-being.
The three questions are: 1. Does objective-only engagement predict day-level well-being? 2. Does subjective-only engagement predict day-level well-being? 3. Does accuracy predict day-level well-being?
4.5.1 Model 7: Objective use predicting well-being
For this model, we’ll predict well-being on that day with objective social media use on that day. Priors here can be controversial, depending on what literature we look to. Well-being is often left-skewed, so we could go for a skewed normal distribution for the model. However, that might be too strong an assumption, which is why I’ll use a model that assumes a normal Gaussian distribution.
As for the specific priors:
- When social media use is at zero between people and at zero within, I’ll simply assume a normal distribution centered on the midpoint of the scale (i.e., 3). As for the SD of that distribution, we know the bounds of the scale, so an SD of 1 will have 95% of cases within 1 and 5, which is exactly what we want.
- As for the slopes: There are two papers I know of that found a negative, small effect, but another paper that found a negligent one.
The larger literature on self-reported media use and well-being also finds very small negative effects, in the range of \(\beta\) = .05.
We’re on the unstandardized scale here.
So if we assume that well-being is at the midpoint of the scale (i.e., 3), the maximum effect an increase in social media time could have is to bring well-being to its ceiling or floor.
That would imply a standard deviation of 1 again - that depends on the scale of the predictor, though.
Right now, it’s in minutes and we’d need to scale the prior accordingly.
This paper found that with each increase of one standard deviation in social media time, well-being on a 7-point Likert-scale went down by -.06 units.
The standard deviation was 190.
Therefore (with some crude math), one hour of social media use was associated with
190/60 * -.06
= -0.19 raw units on the outcome scale. From the literature we also know that massive (unstandardized) effects are rare if impossible. Therefore, I’ll center the slope distribution on a small negative value. To be conservative, I’ll take about 75% of the -.19 we found above (say -0.15 Likert-scales) with a somewhat tight standard deviation (say 0.3). This way, 95% of effects will be within -.75 (-.15 + (2 times 0.2)) and 0.45 Likert-points on the outcome scale. Note that we’re on the between-level here: a user with one more hour of social media use will report, on average, a .15 lower score on well-being than someone else with an hour less. - As for the within-effect, most research points toward negligible within-effects, and all of them are on self-reported media use. So here I’ll assume a slopes that varies around zero, but I’ll allow a wider standard deviation than for the between-effect, 0.4. That way, the average within-person effect will be zero and it assumes that 95% of effects are within -0.8 and + 0.8 Likert-points.
- For everything else, I’ll once more go with the default
brms
priors.
Let’s set those priors. Note that we’re still on the minute scale for the predictor, but I specified priors above for hours. That’s why I transform the social media variables to hours (and center) to make interpretation easier. That also helps us set the priors we specified above.
# create hour variables
dat <-
dat %>%
mutate(
across(
c(social_media_objective, social_media_subjective),
~ .x / 60, # divide by 60 to get hours
.names = "{col}_hours"
)
)
# center to get between and within variables
dat <-
dat %>%
group_by(id) %>%
mutate(
across(
ends_with("hours"),
list(
between = ~ mean(.x, na.rm = TRUE),
within = ~.x - mean(.x, na.rm = TRUE)
)
)
) %>%
ungroup()
# set priors
priors_model7 <-
c(
# intercept
prior(normal(3, 1), class = Intercept),
# slopes for between
prior(normal(-0.15, 0.30), class = b, coef = "social_media_objective_hours_between"),
# slopes for between
prior(normal(0, 0.40), class = b, coef = "social_media_objective_hours_within")
)
Okay, let’s run the model.
model7 <-
brm(
data = dat,
family = gaussian,
prior = priors_model7,
well_being_state ~
1 +
social_media_objective_hours_between +
social_media_objective_hours_within +
(
1 +
social_media_objective_hours_within |
id
) +
(1 |day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(
adapt_delta = 0.99
),
file = here("models", "model7")
)
One case is flagged as potentially influential, but unproblematic when calculated directly.
## 1 problematic observation(s) found.
## The model will be refit 1 times.
##
## Fitting model 1 out of 1 (leaving out observation 65)
## Start sampling
##
## Computed from 12000 by 425 log-likelihood matrix
##
## Estimate SE
## elpd_loo -370.4 16.1
## p_loo 79.0 5.3
## looic 740.7 32.2
## ------
## Monte Carlo SE of elpd_loo is 0.1.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 410 96.5% 1038
## (0.5, 0.7] (ok) 15 3.5% 569
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. The relation is estimated to be extremely close to zero, so really no interpretative wiggle room there. I think this is pretty convincing evidence for the lack of an effect.
## Family: gaussian
## Links: mu = identity; sigma = identity
## Formula: well_being_state ~ 1 + social_media_objective_hours_between + social_media_objective_hours_within + (1 + social_media_objective_hours_within | id) + (1 | day)
## Data: study1 (Number of observations: 425)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## b_social_media_objective_hours_between ~ normal(-0.15, 0.3)
## b_social_media_objective_hours_within ~ normal(0, 0.4)
## Intercept ~ normal(3, 1)
## L ~ lkj_corr_cholesky(1)
## sd ~ student_t(3, 0, 2.5)
## sigma ~ student_t(3, 0, 2.5)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.17 0.11 0.05 0.47 1.00 3575 5449
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.47 0.05 0.39 0.57 1.00 4536 7237
## sd(social_media_objective_hours_within) 0.08 0.05 0.00 0.20 1.00 3112 4958
## cor(Intercept,social_media_objective_hours_within) -0.05 0.42 -0.86 0.80 1.00 10858 6678
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 3.22 0.14 2.94 3.50 1.00 4255 5282
## social_media_objective_hours_between 0.01 0.04 -0.07 0.08 1.00 5089 6626
## social_media_objective_hours_within -0.02 0.04 -0.09 0.06 1.00 15746 8839
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.52 0.02 0.48 0.56 1.00 10146 8819
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.62) visually confirms what I wrote above.
4.5.2 Model 8: Subjective use predicting well-being
Next, we’ll predict well-being on that day with subjective social media use on that day. There’s conflicting information in the literature: I’m aware of a paper that says subjective estimates overstate the relation, but of another that says the opposite. Therefore,
The specific priors:
- For the intercept, I’ll use the same prior as with Model 7.
- As for the slopes: This paper reports median effect sizes across all specifications of \(\beta\) = -.08, with effect sizes larger on the between-level, but small to negligible on the within-level. That’s among adolescents and for a longer time frame. This explicitly compared subjective to objective and found that subjective is a much stronger predictor (up to four times the effect size). This says subjective estimates ever so slightly understimate relations between use and well-being, though. Overall, I’d say we can expect a somewhat more negative between-person relation, which would lead us to believe a mean negative effect of -.20 Likert-points on well-being and 0.4 standard deviation to allow for more extreme slopes. That would bring 95% of effects within -1 and 0.6 Likert-points, which is rather generous for media effects.
- For the within-effect, I’ll stick to the same prior as for the previous model.
- For everything else, I’ll once more go with the default
brms
priors.
Let’s set those priors.
# set priors
priors_model8 <-
c(
# intercept
prior(normal(3, 1), class = Intercept),
# slopes for between
prior(normal(-0.2, 0.4), class = b, coef = "social_media_subjective_hours_between"),
# slopes for between
prior(normal(0, 0.40), class = b, coef = "social_media_subjective_hours_within")
)
Okay, let’s run the model.
model8 <-
brm(
data = dat,
family = gaussian,
prior = priors_model8,
well_being_state ~
1 +
social_media_subjective_hours_between +
social_media_subjective_hours_within +
(
1 +
social_media_subjective_hours_within |
id
) +
(1 |day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(
adapt_delta = 0.99
),
file = here("models", "model8")
)
One case is flagged as potentially influential, but unproblematic after being calculated directly..
## 1 problematic observation(s) found.
## The model will be refit 1 times.
##
## Fitting model 1 out of 1 (leaving out observation 413)
## Start sampling
##
## Computed from 12000 by 425 log-likelihood matrix
##
## Estimate SE
## elpd_loo -371.1 16.2
## p_loo 78.7 5.4
## looic 742.2 32.4
## ------
## Monte Carlo SE of elpd_loo is 0.2.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 405 95.3% 389
## (0.5, 0.7] (ok) 20 4.7% 554
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. The within effect is estimated to be negative, but extremely small. Also, the 95% CI includes zero, so we can’t be sure the effect is meaningful.
## Family: gaussian
## Links: mu = identity; sigma = identity
## Formula: well_being_state ~ 1 + social_media_subjective_hours_between + social_media_subjective_hours_within + (1 + social_media_subjective_hours_within | id) + (1 | day)
## Data: study1 (Number of observations: 425)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## b_social_media_subjective_hours_between ~ normal(-0.2, 0.4)
## b_social_media_subjective_hours_within ~ normal(0, 0.4)
## Intercept ~ normal(3, 1)
## L ~ lkj_corr_cholesky(1)
## sd ~ student_t(3, 0, 2.5)
## sigma ~ student_t(3, 0, 2.5)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.18 0.13 0.05 0.51 1.00 2790 3833
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.47 0.05 0.39 0.57 1.00 3971 6987
## sd(social_media_subjective_hours_within) 0.05 0.03 0.00 0.13 1.00 3070 4785
## cor(Intercept,social_media_subjective_hours_within) 0.23 0.47 -0.83 0.95 1.00 8042 5984
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 3.27 0.14 2.99 3.55 1.00 3189 4864
## social_media_subjective_hours_between -0.01 0.04 -0.08 0.06 1.00 3174 5245
## social_media_subjective_hours_within -0.03 0.03 -0.08 0.02 1.00 12266 8541
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.52 0.02 0.48 0.56 1.00 9007 8503
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.66) shows that the effect, if even there, is small at best.
4.5.3 Model 9: Accuracy predicting well-being
For this model, we ask whether the error people make in their estimation is related to their well-being on the state level. As for as I know, there’s little prior knowledge we could build on for the relation between accuracy and well-being.
As for the specific priors:
- Like before, at perfect accuracy (0% error) and zero deviation I’ll assume a normal distribution centered on the midpoint of the scale (i.e., 3) with the intercept. I’ll set the SD of that prior distribution to 1 once more.
- As for the slopes: There’s one paper that correlated the absolute discrepancy between subjective and objective social media use and well-being indicators aggregated over a week.
They found a \(\beta\) = .16 between log-transformed discrepancies and depression scores.
Discrepancy is a different measurement than the error that we calculated for accuracy.
Therefore, I’ll use a prior that’s centered on a negative relationship with a small SD.
Like above, I don’t expect that there will be large effects just based on the literature.
So I’ll assume a small effect (say -0.20 Likert-scales) with a somewhat wider standard deviation than in previous models (say 0.4).
This way, 95% of effects will be within -1 (-.20 + (2 times 0.3)) and 0.60 Likert-points on the outcome scale.
However,
error
is in percent, so we wouldn’t expect -.20 Likert-points with every one-percent increase. Rather, I’d say the above effect is easier to specify for a standard deviation change inerror
, which is why I standardizeerror
: one standard deviation increase in accuracy will be associated with, on average, a .20 lower score on well-being on the between level. - I have no information for the within-level, which is why I use a prior centered on zero with the same wide standard deviation.
- For everything else, I’ll once more go with the default
brms
priors.
Let’s set those priors and center at the same time.
# standardize error
dat <-
dat %>%
mutate(
error_s = scale(error, center = FALSE, scale = TRUE)
)
# center to get between and within
dat <-
dat %>%
group_by(id) %>%
mutate(
across(
error_s,
list(
between = ~ mean(.x, na.rm = TRUE),
within = ~.x - mean(.x, na.rm = TRUE)
)
)
) %>%
ungroup()
# set priors
priors_model9 <-
c(
# intercept
prior(normal(3, 1), class = Intercept),
# slopes for between
prior(normal(-0.2, 0.4), class = b, coef = "error_s_between"),
# slopes for between
prior(normal(0, 0.40), class = b, coef = "error_s_within")
)
And run the model.
model9 <-
brm(
data = dat,
family = gaussian,
prior = priors_model9,
well_being_state ~
1 +
error_s_between +
error_s_within +
(
1 +
error_s_within |
id
) +
(1 |day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(
adapt_delta = 0.999
),
file = here("models", "model9")
)
Six cases are flagged as potentially influential, which is why we calculate ELPD directly.
## 6 problematic observation(s) found.
## The model will be refit 6 times.
##
## Fitting model 1 out of 6 (leaving out observation 23)
##
## Fitting model 2 out of 6 (leaving out observation 24)
##
## Fitting model 3 out of 6 (leaving out observation 255)
##
## Fitting model 4 out of 6 (leaving out observation 289)
##
## Fitting model 5 out of 6 (leaving out observation 397)
##
## Fitting model 6 out of 6 (leaving out observation 417)
## Start sampling
## Start sampling
## Start sampling
## Start sampling
## Start sampling
## Start sampling
##
## Computed from 12000 by 423 log-likelihood matrix
##
## Estimate SE
## elpd_loo -367.8 16.4
## p_loo 81.4 6.0
## looic 735.6 32.8
## ------
## Monte Carlo SE of elpd_loo is 0.2.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 407 96.2% 47
## (0.5, 0.7] (ok) 16 3.8% 492
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary. The within effect is estimated to be negative, but really small. Also, the 95% CI includes zero and quite wide, so we can’t be sure the effect is meaningful.
## Family: gaussian
## Links: mu = identity; sigma = identity
## Formula: well_being_state ~ 1 + error_s_between + error_s_within + (1 + error_s_within | id) + (1 | day)
## Data: study1 (Number of observations: 423)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## b_error_s_between ~ normal(-0.2, 0.4)
## b_error_s_within ~ normal(0, 0.4)
## Intercept ~ normal(3, 1)
## L ~ lkj_corr_cholesky(1)
## sd ~ student_t(3, 0, 2.5)
## sigma ~ student_t(3, 0, 2.5)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.19 0.15 0.06 0.53 1.00 3196 3812
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.47 0.04 0.39 0.56 1.00 4652 8200
## sd(error_s_within) 0.14 0.09 0.01 0.34 1.00 2730 5295
## cor(Intercept,error_s_within) 0.25 0.42 -0.72 0.93 1.00 9691 7015
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 3.25 0.13 3.01 3.48 1.00 4066 3419
## error_s_between -0.02 0.07 -0.16 0.12 1.00 6313 7487
## error_s_within -0.03 0.06 -0.15 0.08 1.00 13197 8720
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 0.51 0.02 0.48 0.56 1.00 9411 9387
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.70) shows that the effect, if even there, is small at best.
4.6 Relation between subjective and objective use
Something that wasn’t part of the original plan: inspecting the relation between subjective and objective use a bit closer. The absolute difference between the two wasn’t that large, so it’s possible that the difference isn’t meaningfully different from zero. For that reason, I predict subjective use with objective use and then inspect the parameter. The intercept will tell us whether the subjective overestimate is different from zero (so an indicator of bias). The slope will tell us how sensitive subjective is to the true value. And the sigma will tell us how much error there is.
Unfortunately, the model has huge problems with a Gamma distribution as outcome, so I went for a normal distribution with the predictor grand-mean centered instead.
Also, I’m not using informed priors here and rely on the default brms
priors.
For this question, I’m not interested in distinguishing between- and within-person effects.
model10 <-
brm(
data = dat,
family = gaussian,
social_media_subjective ~
1 +
social_media_objective +
(1 + social_media_objective | id) +
(1 | day),
iter = 5000,
warmup = 2000,
chains = 4,
cores = 4,
seed = 42,
control = list(adapt_delta = 0.99),
file = here("models", "model10.rds")
)
Five cases are flagged as potentially influential, which is why we calculate ELPD directly.
## 5 problematic observation(s) found.
## The model will be refit 5 times.
##
## Fitting model 1 out of 5 (leaving out observation 23)
##
## Fitting model 2 out of 5 (leaving out observation 63)
##
## Fitting model 3 out of 5 (leaving out observation 134)
##
## Fitting model 4 out of 5 (leaving out observation 350)
##
## Fitting model 5 out of 5 (leaving out observation 392)
## Start sampling
## Start sampling
## Start sampling
## Start sampling
## Start sampling
##
## Computed from 12000 by 428 log-likelihood matrix
##
## Estimate SE
## elpd_loo -2439.9 23.7
## p_loo 85.1 8.2
## looic 4879.8 47.4
## ------
## Monte Carlo SE of elpd_loo is 0.3.
##
## Pareto k diagnostic values:
## Count Pct. Min. n_eff
## (-Inf, 0.5] (good) 401 93.7% 39
## (0.5, 0.7] (ok) 27 6.3% 134
## (0.7, 1] (bad) 0 0.0% <NA>
## (1, Inf) (very bad) 0 0.0% <NA>
##
## All Pareto k estimates are ok (k < 0.7).
## See help('pareto-k-diagnostic') for details.
Let’s inspect the summary: indeed the intercept is different from zero, which speaks for a bias/systematic error in overestimates of social media time.
## Family: gaussian
## Links: mu = identity; sigma = identity
## Formula: social_media_subjective ~ 1 + social_media_objective + (1 + social_media_objective | id) + (1 | day)
## Data: study1 (Number of observations: 428)
## Samples: 4 chains, each with iter = 5000; warmup = 2000; thin = 1;
## total post-warmup samples = 12000
##
## Priors:
## Intercept ~ student_t(3, 129.5, 103)
## L ~ lkj_corr_cholesky(1)
## sd ~ student_t(3, 0, 103)
## sigma ~ student_t(3, 0, 103)
##
## Group-Level Effects:
## ~day (Number of levels: 5)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 4.99 5.52 0.15 18.65 1.00 6023 6603
##
## ~id (Number of levels: 94)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 57.35 10.50 37.79 79.11 1.00 4648 7538
## sd(social_media_objective) 0.22 0.09 0.06 0.40 1.00 960 2260
## cor(Intercept,social_media_objective) 0.10 0.42 -0.57 0.93 1.00 1411 2450
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 71.21 11.16 49.54 92.95 1.00 8331 9048
## social_media_objective 0.59 0.07 0.45 0.72 1.00 10561 8913
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 64.24 2.57 59.45 69.44 1.00 7416 8846
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
The effects plot (Figure 4.74) shows that visually.


Enter a number. We'll count from zero to that number. When we come to a number that has a '3', we'll say "won't you be my neighbor?". If the number doesn't have a '3' but it has a '2', we'll say "boop!". If it doesn't have a '3' or a '2' but it has a '1', we'll say "beep!". Fun!


THE FUGITIVE A film review by Tracy E. Finifter Copyright 1993 Tracy E. Finifter
Having seen only one episode of the 1960's television series, and only a part of it at that, I came into this movie with very little by way of preconceptions. Of course, the basic premise is famous: a respected doctor, Dr. Richard Kimble, is sentenced to die for the murder of his wife which he did not commit. After escaping in a bus accident, Detective Sam Gerard (in the movie, converted to U.S. Marshall) becomes obsessed with his recapture while Kimble searches for the one armed man seen at the scene of the crime.
But that's about all this movie has in common with the television show. For one, this is a full-fledged murder mystery as Kimble takes on his own investigation as to who murdered his wife and why. Secondly, the movie format limits the story to basically a chase/murder mystery, whereas the series was known for the different situations Kimble would find himself in week after week. There is one instance in the movie where Kimble stops long enough to help someone else out (as was the main focus in the series) which was a small tribute to the spirit of the series, but the 2+ hour length does not allow for more.
The film is a fast-paced, well structured chase movie which asks you to stretch the imagination at points, but never fails to be enjoyable. There are times where the tension becomes almost tangible as our hero struggles to stay one step ahead of the law.
The biggest departure from the series comes in the character of Deputy Samuel Gerard. Whereas the series' character was clearly the bad guy who's obsession on capturing Kimble makes him thoroughly hated by the audience, the film's Gerard comes off as just cop trying to get his man. At times he seems almost too glib, but his one-liners bring a comic relief in contrast to Kimble's almost lack of dialog. Of course, this Gerard is portrayed as much more competent than the series' Gerard; after all, he captured Kimble after two hours whereas it took the other Kimble seven years!
For fans of the old series, be prepared. THE FUGITIVE is a thoroughly updated and modern version of the series, definitively set in our time, complete with 911, cellular phones, and bullet-proof glass doors. And if you've seen the final episode of the series, do not fear. The resolution with the one armed man is completely different than the one portrayed in the series. Clearly, this movie will continuously be compared with its television namesake, but the nature of the movie is entirely different. This is a smart, intelligent chase movie that keeps your eyes glued to the screen. Harrison Ford once again proves himself to be the thinking man's action hero as he manages to go from scrape to scrape, barely managing to get himself out of each new jam. Tommy Lee Jones provides the perfect foil and his face to face encounters with Ford are among the most gripping of the film.
-- Tracy Finifter<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


skip to main content
Toggle navigation
About
Demo
(current)
Documentation
Download
RichLinks 0.01
Inteligent web embedding
Dynamically embed the web
Try the demo!


Kalki Koechlin gives major fashion goals for all mothers-to-be
As a mom-to-be, one may often stress over what to wear when stepping out. But Kalki Koechlin has kept her fashion game strong even during her pregnancy and rocked every look — be it a printed kaftan or a or a summery flowy dress. If you too are looking to glam up your maternity quotient, then you are at the right place. We bring you some of the best maternity looks of the Dev D actor.
18 Nov 2019, 05:10
Turtlenecks never really go out of fashion, so why not embrace the trend. We love how the actor flanuted her baby bump in an off-white turtle neck Zara dress. The golden buttons on the shoulders added some bling to the look. (Photo: Varinder Chawla)
The mum-to-be knows how to keep it stylish in a simple dress too. Koechlin kills it in this bottle green dress from Stylebyand whiche teamed with pastel pink footwear. (Photo: Varinder Chawla)
The actor looks pretty as picture in this maxi dress from Cotton World. Maxi dresses are perfect during pregnancy, as they are extremely comfortable and easy to wear. (Photo: @kalkikanmani/ Instagram)
Koechlin looks gorgeous in this couture creation from Rudraksh Dwivedi that she wore to the Vogue Women of the Year awards. We love how she kept it basic and let her sequinned outfit to all the talking. (Photo: @kalkikanmani/ Instagram)
If you’ve got it, flaunt it. Go for fitted dresses just like the Gully Boy actor, who looks gorgeous in this midnight blue satin silk dress from Birdwalk. Styled by Who Wore What When, she rounded out her look with footwear from Ceriz Fashion. (Photo: @kalkikanmani/ Instagram)
Kaftans will be your best friend during your pregnancy. They are high on comfort and style. So you too can keep it trendy in a kaftan, just like the actor who stuns in this ensemble from ace designer Sabyasachi Mukherjee. (Photo: @kalkikanmani/ Instagram)
Koechlin keeps in trendy in a black dress from Zara that features a thigh-high slit. A perfect dress for a night out with your loved one, we say. (Photo: @kalkikanmani/ Instagram)
A basic t-shirt, jeans and a shrug is undoutedly the best casual attire on days when you don't feel like dressing up. Even during pregnancy. So keep it comfy and stylish just like the actor in the casual ensemble. (Photo: @kalkikanmani/ Instagram)
Not only dresses and gowns, the actor also slayed traditional wear in a lovely bottle green anarkali set from Raw Mango, which she teamed up with pair of printed mules from Purple Clouds, and jewellery from Tribe by Amrapali. (Photo: @kalkikanmani/ Instagram)
A traditional maxi can be worn on any ocassion — be it a baby shower or a brunch with friends. So the actor hit all the fashion notes when she wore this magenta maxi dress from Global Desi which she teamed up with a pair of white pumps from Mellisa Shoes. (Photo: @kalkikanmani/ Instagram)
High-five to prints! Kalki clearly makes a strong fashion statement in this animal print dress.  (Photo: @kalkikanmani/ Instagram)


We believe that a governance
system that is clearly outlined and fairly represents the
community is essential to the development of JXTA(TM) technology.
JXTA technology is about providing a common framework, on top of which innovative distributed computing applications can be developed. This common framework will need to mature and become stable-staying small, but supporting essential qualities required by a majority of developers. A strong governance system will provide a means to manage the process of its evolution. Initially we will build on the model used by other open source projects, a meritocracy based on consensus.
All decision making, planning and communication will be done in the open, on public mailing lists.
Basically the structure we envision is the following:
* Developer
* Contributor
* Committer
* Project Owner
*
Board
Developers
Developers are the people who use
JXTA technology to create new JXTA-based services and applications.
Developers aren't contributing code, but they are using the shell,
reporting bugs, making feature requests and suggestions. This is by
far the most important category of people. Without developers, there
is no reason for the Project. When a developer starts to contribute
code or documentation patches, they become a contributor.
How to become one: Download JXTA technology, and use it to write code.
Contributors
Contributors are developers who
contribute patches and code (by e-mail or via the appropriate project
related mailing lists/forums), and users of the JXTA software who
want to report bugs or comments. Contributors do not have CVS
check-in access. A developer who has sent in solid, useful patches on
a project can be elevated to contributor status by the project owner.
Integration of developers' contributions is at the discretion of the
project owner, but this is an iteractive, communicative process.
How to become one: Get the source, make an improvement or fix a bug, and send that code to the developers mailing list.
Committers
A committer has check-in access to
the development, or "bleeding edge" branch of the source
tree. Committers can directly make changes to the source base of the
development branch, from which the nightly builds are made.
How to become one: Submit a number of patches via e-mail, and ask the project project owner for commit access.
Project Owners
Each project has at least one
project owner. Each project owner has check-in permissions on the
stable branch of the source tree. Project owners "manage" a
group of contributors, and are responsible for merging these
contributors' patches, bug fixes, and new code from the development
branch of the source tree onto the stable branch. Project owners are
responsible for making sure that these contirbutions do not break the
build.
Project owners are responsible for the Web space for that project, at the project home page (accessible under CVS), and for granting check-in privileges for contributors.
New project owners may find useful guidelines for running your project.
How to become one:
* Start a
project (you should have written some working code or drafts to
do this)
* Have the responsibility for that project handed over to
you from the current project owner
* Take over an abandoned
project
* Initially, as Sun contributed the source base, the
project owners of Projects JXTA projects are the developers who
either wrote the projects, or currently have responsibility for them.
Undoubtedly, in the future, there will be non-Sun people in these
roles as well.
* For ongoing projects moving here, or new projects
that are hosted here, the person who started that project or
currently maintains it is the project owner. If you start a project,
you are the project owner of that project.
Sun Contributor Agreement (SCA)
Any developer who wishes to become a "Contributor, Committer, and/or Project Owner" -- in that he/she wishes to contribute new code to the Concurrent Versions System (CVS) tree -- must sign and return Sun's Contributor Agreement (SCA). Please print this form out, fill in all the necessary detail, and return it. You may also want to read the FAQ.
Via mail to:
Bernard Traversat
Sun Microsystems, Inc.
4120
Network Circle, USCA 21-308
Santa Clara, CA 95054
Via e-mail for scanned files<EMAIL_ADDRESS>The Board
The Board consists of three
members, including one representative selected by Sun and two
independent, non-Sun representatives who are nominated and elected by
the community. The current Board was elected in February 2006 to a
term of two years. Notice will be given of the next election on the
JXTAtm Technology homepage
and on the<EMAIL_ADDRESS>and<EMAIL_ADDRESS>lists.
The Board has high-level duties to ensure that the JXTAtm Technology project is being run in a fair and open manner. The Board exists as a last resort to resolve disputes and grievances. Every effort should be made to solve disputes at the community level before turning to the Board.
We are attempting to make the governance procedures as lightweight as possible. We seek above all to invite all interested developers to take part in the enhancement of this project and seek input from all. We are attempting to make sure the governance procedures will not hinder the momentum of any group or individual who seeks to use JXTA technology.
This governance system might change as the Project JXTA community grows, but we are committed to a system that is fair and open to all community members. If you have any questions, suggestions, and/or concerns, please post them on the general mailing list<EMAIL_ADDRESS>The current elected Board members are Daniel Brookshier and Vanessa Williams, who begin their term on March 1, 2006. The Sun representative is Bernard Traversat.
* Election results from the February 2006, Board election, are
available online. The JXTA community will be holding our next
elections Spring 2008.
* The term for the JXTA Board of Directors
was changed from 1 year to 2 years per community vote February
2006.
* Board of Director meeting notes are available.


My History
Welcome Back, David!
Filter 289 results by:
| S/N | Level | Title | Pages | Univeristy | |
|---|---|---|---|---|---|
| 1. | 500L- | Structural Mechanics(MCQ) | 6 | ||
| 2. | 500L- | Structural Mechanics(MCQ) | 6 |
|
|
| 3. | 500L- | Structural Mechanics(MCQ) | 6 |
Page 1 0f 22
Prev
Next
Get Updated faster
We'll send you past questions based on your prefrences as soon as they come in


The support scheduler micro service provide an internal EdgeX “clock” that can kick off operations in any EdgeX service.
At a configuration specified time (called an interval), the service calls on any EdgeX service API URL via REST to trigger an operation (called an interval action).
For example, the scheduling service periodically calls on core data APIs to clean up old sensed events that have been successfully exported out of EdgeX.
Users also can call the API of command service to collect one device's data automatically.


Collector Marsha:
Magic Trader Cema has requested that I collect Starstones, also known as Nebulite.
Ah, so you are also looking for Starstones! Would you like to play a simple game of chance? Surely you know how to play rock-paper-scissors!?
The winner will get to keep all the Nebulite Orbs we have collected!
Play rock-paper-scissors.
Quit


The Michael Jackson Episode Of The Simpsons Isn't On Disney+
by Tegan JonesIn the U.S. Disney+ offers subscribers the first 30 seasons of The Simpsons as part of its content portfolio.
But there is is one episode of the 662 that has been left off the platform, and it's because of Michael Jackson.

Stark Raving Dad was the first episode of season 3 and originally aired back in 1991. Michael Jackson was an uncredited guest star, a patient who Homer meets while spending time in a mental institution. Jackson even wrote the Lisa It's Your Birthday song for the show.

The matter was settled out of court, but this was only the first of similar accusations that continued until the singer's death in 2009.
According to Polygon, Jackson's episode definitely doesn't appear on Disney+. Season 3 of The Simpsons now opens with the episode Mr. Lisa Goes To Washington.
This decision is just the most recent example of Stark Raving Dad being removed from syndication.
Earlier this year the executive producers of the show, including creator Matt Groening, decided to expunge the episode from box sets, syndication and streaming out of respect for the alleged victims.
This decision was made after the documentary Leaving Neverland aired. The film involves two men who allege that Jackson molested them as children. The Jackson estate tried to block HBO from airing the documentary, stating that the accusations were false.
Speaking to the Wall Street Journal back in March, Executive Producer Al Jean stated "It feels clearly the only choice to make."
Until his death Jackson claimed he was innocent of all accusations of molestation.
[Polygon]


Be the first to breaking news on Twitter
Ferret helps you filter the noise on Twitter and get closer to what’s important, fast.
It graphs the number of tweets on any given search term, and allows you to retrieve only those tweets sent in a time period you choose - such as just before a story breaks on Twitter.
Ferret is a limited proof-of-concept tool. It only works in Google Chrome. You can contact us with comments or feedback at info[at]ferretapp.co.uk or on twitter @FerretApp.


Sign in to start your session
Session Expired. Your session has expired, please log-in to continue.
Login failed. The email address and password combination you entered is incorrect.
Operation failed. The service is not available. Please try again later.
{{'verifying credentials'}}...
I forgot my password
Register a new membership


Sayf Ali
MBA, CSM, CSPO
Projects Portfolio
A compilation of simple and complex projects of various functionalities, integrations, and content, all of which demonstrate the coding capabilities acquired throughout the developer journey.
A compilation of simple and complex projects of various functionalities, integrations, and content, all of which demonstrate the coding capabilities acquired throughout the developer journey.


Your voice will be heard.
A platform for women to raise their voice against harassment
Learn MoreUN Women is the global champion for women and girls. It acts on the premise that every woman has the right to live a free life from violence, poverty, and discrimination, and that gender equality is central to achieving development.
Demeter is a platform for women to stand up against harassment and tell their story and further take a stand for themselves.
Demeter is an efficient and effective platform for women to take a stand against gender discrimination and the harassment that women face on a daily basis at workplaces, at restaurants, etc.
Every 73 seconds, an American is sexually assaulted.More sexual harassment claims in the U.S. are filed in the restaurant industry than in any other, where as many as 90% of women reportedly experience some form of sexual harassment. Paying homage to the strength and grit that Demeter embodies in the greek story of Persephone and Hades, we came up with a solution. If women could take a stand for themselves by telling their stories based on locations they've visited, we would better be able triangulate locations where these circumstances happen in large numbers.
We have used HTML5, CSS3, SASS for the Front-End, Javascript , Custom Google APIs for the backend, Firebase for Database and Authentication.


Animal Crossing Dreamy Collector
Learn about Animal Crossing Villagers and manage your Dream Island
Avatar Quiz
A 60 second JavaScript based quiz on Avatar The Last Airbender.
Weather Forecast
Five day weather forecast for user searched city, with user search history.
Password Generator
Takes user parameters and generates a unique, custom, randomized password.
Cart Croc
Big Solutions For Small Businesses
My Resume
Eric Osowski's Resume


Create Company
Promoter
Company
Art Type
----
Artist Level
----
Address
City
State
----
Zip
Phone
Home-page URL
Description:


1)We Sarted Our Journey in 2005 As Incorporated at Mumbai as washing & dying unit.
2)Later Then We Start Our Corporate office Acquired an office space in Andheri, Mumbai.
3)Our First Factory Was Setup in 2010 Acquired a factory space Turbhe MIDC, 50000 sq. ft.
4)Then second Factory in 2012 Acquired factory MIDC, 50000 sq. ft.
5)In 2014 Company has Achived Financial Leverage Company has achieved a turnover twice of previous year
6)In 2019 We Achived Our Frist Certifications Sedex certification
7)In 2021 We Have Introduce Process SAP driven system introduced


Add to our Guestbook
Fill in the blanks below to add to our guestbook. The only blanks that you have to fill in are the comments and name section. Thanks!
Your Name:
E-Mail:
URL:
City:
, State:
Country:
Comments:
*
*
Back to the Guestbook Entries
Script and Guestbook Created by:
Matt Wright
.


Note: As beta version it provides a good impression. Nevertheless, it is not completely stable.
Here you may find some examples of material design realized through material css. Have fun looking and inspecting all these pages to find inspiration by yourself.
If you are interested in material design itself, you may find its sepcification here
Is a responsive front-end framework based on material design. It is provided in two versions, either compiled (materialize) or for pre-processing (sass).
Furthermore, you may find some community-made options (third-party). These may easily setup materialize in specific platforms/projects. Since, these are maintained by other parties, they are provided untested and may be out-of-sync with latest materializes versions.
PrimeFaces is an open source component library for JavaServer Faces (JSF) based applications. PrimeFaces is created by PrimeTek. Besides community editions and themes, you may also buy extended themes.
Besides JSF, PrimeFaces also offers libraries to extend JavaScript-based applications. The latter is provided in three versions, named:
JavaServer Faces is a framework technology intended to simplify building of user interfaces for Java EE applications. Developers can build web applications by assembling reuseable UI components in a page; connecting these components to an application data source; and wiring client-generated events to server-side event handlers.
There are two implementations of the JSF specification, both of them developed with OSI approved Open Source licenses.
During configuration of a JSF application, you should keep an eye on schema definitions: JSF Schemas. Although NetBeans generates most of them, they may not address latest versions all the time. Currently JSF is standardized in version 2.3 but not yet supported in NetBeans generators (maybe because Java EE 8 is not finalized yet).
Responsive web design (RWD for short) is a design and technical paradigm for the creation of websites, so that they can react to properties of the end device used, especially smartphones and tablet computers. The graphical structure of a responsive website is based on the requirements of the respective device with which the website is viewed. This applies in particular to the arrangement and display of individual elements, such as navigation, page columns and texts, but also to the use of different input methods of mouse (click, run over) or touch screen (type, wipe). The technical basis for this are web standards such as HTML5, CSS3 (here especially the media queries) and JavaScript.
In order to create a responsive design, a grid like structure that is controlled by CSS is usually used. This is often also called Grid CSS. Such a layout can be created relatively easily using JSF or Materialize tools:


This is going to be cool
javascript can change html content
click kar na saale
java script is cool
isn't it??
clisk
click me


AngularJS Sample Application
Disable Button
Click Me!
Show Button
Click Me!
Hide Button
Click Me!
Total click: {{ clickCounter }}
Click Me!


New Mail
Send Message
© 2019 All Rights Reserved.
Developed by ITU CE Students
Press K key to Record
Press K key to Stop


Collection of LESS mixins for various shapes
Shape.LESS is a collection of mixins for CSS shapes that we often use in web applications. The aim of this project is to reduce the repitive tasks of a developer required to create shapes using CSS.
You can download it with Bower:
$ bower install shape.less
Import the less/shape.less file in your own LESS files, and start using it right away:
@import "path-to-shape.less/less/shape.less";
.my-square {
.shape-square(100px);
}
.rectangle {
.shape-rectangle(100px, 50px);
}
.square {
.shape-square(50px, 50px);
}
.circle {
.shape-circle(50px);
}
.circle {
.shape-oval(50px);
}
.triangle-up {
.triangle-up(50px);
}
.triangle-down {
.triangle-down(50px);
}
.triangle-left {
.triangle-left(50px);
}
.triangle-right {
.triangle-right(50px);
}
.triangle-top-left {
.triangle-top-left(50px);
}
.triangle-top-right {
.triangle-top-right(50px);
}
.triangle-bottom-left {
.triangle-bottom-left(50px);
}
.triangle-bottom-right {
.triangle-bottom-right(50px);
}
Special thanks to Chris Coyier for his Shapes of CSS article.


Classes
The following classes are available globally.
-
A middleware that authenticates by extracting and verifying a JWT (JSON Web Token) from the Authorization header. By default it will also load the user (or whatever authenticatable entity is used) from the database but this can be disabled for performance reasons if it is not needed.
Authentication is skipped if authentication has already occurred, e.g. in a previous middleware.
See moreDeclaration
Swift
public final class JWTAuthenticationMiddleware<A> : Middleware where A : JWTAuthenticatable
-
A custom leaf tag to format a number to a fixed amount of decimals REGISTER TAG: tags.use(NumberFormatTag(), as:
numberformat
)USAGE: #numberformat(100.3333333333,
See more2
) = 100.33Declaration
Swift
public final class NumberFormatTag : TagRenderer
Parameters
number
Double
decimals
Int (default: 2 decimals)


| Home | Create TSL | Examples | Help | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OptionsPositive and negative sampleTwo Sample Logo calculates statistical significance of the relative position-specific symbol frequencies between two sets of aligned sequences. For example, sequences that are known to share a sequence motif may be locally aligned including positions upstream or downstream from the motif. All aligned sequences in both samples are required to be of the same length, so dash characters ("-") should be used to pad the positions in case some sequences are shorter. Sequences that contain a motif and at the same time have a certain functional property (say, protein modification sites or transcription factor binding regions) constitute a positive sample. Sequences that contain the motif and at the same time do not have the functional property constitute the negative sample. The distinction between the samples does not necessarily have to be based on the presence and absence of a functional property: as long as there is a clear way of interpreting the data, any pair of sets of aligned sequences can be used as positive and negative. Sequences can be entered as flat files, or in FASTA or ClustalW formats. Sequence typeEither amino acid or nucleotide. If amino acid option is selected, all symbols other than the standard 20 amino acid single-letter codes will be replaced with dashes and will not be a part of the statistics. Likewise, if nucleotide option is selected, all symbols other than the A, C, G, T, and U will be replaced with dashes. Statistical testsTwo Sample Logo supports two types of statistical tests:
Frequently used statistical procedure that tests whether two samples were generated by the same Gaussian distribution. The assumptions of the t-test are that all observations are independent and that the standard deviations for both samples are identical, then it checks the equality of means (Hogg and Craig, 1994). Binomial testConsider two 0-1 samples S1 and S2 of sizes n1 and n2 respectively, in which symbol 1 occurred k1 times in S1 and k2 times in S2. Let us also assume that the test statistic is the absolute difference of symbol’s relative frequencies, i.e. θ = |k1/n1 – k2/n2|. The binomial test calculates the probability that a difference ≥θ for the two samples of sizes n1 and n2 randomly drawn from the underlying null distribution could occur by chance alone. Since, according to the null model, both samples are independent and identically distributed, an unbiased estimate of the probability of success p of the underlying binomial distribution is calculated as the relative frequency of occurrence of a symbol when S1 and S2 are concatenated, i.e. p = (k1 + k2)/(n1 + n2). The achieved significance level P of the null hypothesis is then the probability that the difference ≥θ will be observed between the estimated success probabilities in the two samples of sizes n1 and n2 randomly drawn from the underlying distribution. It is calculated as: P-valueP-value is defined as the lowest significance level at which the null hypothesis can be rejected. In the case of two sample logos, null hypothesis assumes that each symbol at each position in both samples is generated according to the same probability distribution. Based on the null hypothesis, p-value is calculated as the probability that the test statistic as extreme or more extreme than in the original samples can occur by chance alone. Here, the test statistic is the absolute value of the difference in relative frequencies between positive and negative samples. Since in most cases this probability cannot be calculated exactly, p-value is only approximated. Show conserved residuesBecause conserved motifs will not be enriched nor depleted in the positive sample in comparison to the negative sample (the difference of their relative frequencies will be zero), by default they will not be displayed in the logo. Checking this option forces the software to show conserved residues. Fixed height symbolsWhen this option is checked, all enriched and depleted symbols will have the same height. When it is not checked, the height of the symbols will be proportional to the difference of relative frequencies of corresponding residues at a given position in the positive and negative sample. Bonferroni correctionA correction of the p-value in cases when multiple dependent or independent hypotheses are tested. See (Weisstein) for details. Advanced optionsTitleSets up the title for the two sequence logo. Logo rangeLimits the analysis to the specified colums in the samples of aligned sequences. First position indexIndex assigned to the first symbol in the logo. For example, if the sample is a 25 residue-long window centered around an active site, first position symbol should be -12: then the active site will have index 0, and the last symbol will be indexed as +12. The default value is 1. Show X-axis indexesShow residue indexes on the X-axis. Show Y-axis labelsShows labels "enriched" and "depleted" next to the Y-axis. Output optionsOutput formatTwo Sample Logo supports Encapsulated PostScript (EPS), Portable Document Format (PDF), Graphics Interchange Format (GIF) and Portable Network Graphics (PNG). Output sizeHeight and width of the output image, in pixels, centimeters or inches. ResolutionSets up the image resolution. Applicable to bitmaps only (GIF and PNG). AntialiasingTurns antialiasing on or off. Boxed imageIf this option is checked, letters in the output will be inscribed in bounding boxes. Outlined symbolsIf this option is checked, letters in the output will be only outlined (and not filled). Color schemesBlack and whiteAll symbols are written in black type against a white background. WebLogo default colors
Shapley color table for amino acids
In the original Shapley scheme, G and V were color-coded as white. Since this would render them invisible against a white background, their color has been changed to light grey. Shapley color table for nucleotides
Amino Colors
ChargePositively charged residues (K, R, H) are colored blue, and negatively charged residues (D, E) are colored red; all neutral residues are colored black. HydrophobicityHydrophobic residues (A, F, G, I, L, P, V, W, Y) are cyan colored, while the remaining hydrophilic residues are colored black. This classification was based on (Eisenberg, 1984).  This classification was based on (Janin, 1979). FlexibilityHigh flexibility residues (D, E, K, N, P, Q, R, S) are colored red, whereas low flexibility residues (A, C, F, G, H, I, L, M, T, V, W, Y) are colored green. This classification was based on (Vihinen et al., 1994). DisorderDisorder-promoting residues (A, R, S, Q, E, G, K, P) are colored red, order-promoting residues (N, C, I, L, F, W, Y, V) are colored blue, and disorder-order neutral residues (D, H, M, T) are colored black. This classification was based on (Dunker et al., 2001). User defined color schemeThis option allows you to specify a new color mapping using the set of standard predefined colors listed in the following table:
Any symbol not explicitly assigned to a color will default to black. References
|


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 10. Type Conversion | Next |
The specific operator that is referenced by an operator expression is determined using the following procedure. Note that this procedure is indirectly affected by the precedence of the involved operators, since that will determine which sub-expressions are taken to be the inputs of which operators. See Section 4.1.6 for more information.
Operator Type Resolution
Select the operators to be considered from the
pg_operator
system catalog. If a non-schema-qualified
operator name was used (the usual case), the operators
considered are those with the matching name and argument count that are
visible in the current search path (see Section 5.7.3).
If a qualified operator name was given, only operators in the specified
schema are considered.
If the search path finds multiple operators with identical argument types, only the one appearing earliest in the path is considered. Operators with different argument types are considered on an equal footing regardless of search path position.
Check for an operator accepting exactly the input argument types. If one exists (there can be only one exact match in the set of operators considered), use it.
If one argument of a binary operator invocation is of the unknown type, then assume it is the same type as the other argument for this check. Invocations involving two unknown inputs, or a unary operator with an unknown input, will never find a match at this step.
Look for the best match.
Discard candidate operators for which the input types do not match and cannot be converted (using an implicit conversion) to match. unknown literals are assumed to be convertible to anything for this purpose. If only one candidate remains, use it; else continue to the next step.
Run through all candidates and keep those with the most exact matches on input types. (Domains are considered the same as their base type for this purpose.) Keep all candidates if none have exact matches. If only one candidate remains, use it; else continue to the next step.
Run through all candidates and keep those that accept preferred types (of the input data type's type category) at the most positions where type conversion will be required. Keep all candidates if none accept preferred types. If only one candidate remains, use it; else continue to the next step.
If any input arguments are unknown, check the type categories accepted at those argument positions by the remaining candidates. At each position, select the string category if any candidate accepts that category. (This bias towards string is appropriate since an unknown-type literal looks like a string.) Otherwise, if all the remaining candidates accept the same type category, select that category; otherwise fail because the correct choice cannot be deduced without more clues. Now discard candidates that do not accept the selected type category. Furthermore, if any candidate accepts a preferred type in that category, discard candidates that accept non-preferred types for that argument.
If only one candidate remains, use it. If no candidate or more than one candidate remains, then fail.
Some examples follow.
Example 10-1. Factorial Operator Type Resolution
There is only one factorial operator (postfix !) defined in the standard catalog, and it takes an argument of type bigint. The scanner assigns an initial type of integer to the argument in this query expression:
SELECT 40 ! AS "40 factorial"; 40 factorial --------------------------------------------------<PHONE_NUMBER>47897734345611269596115894272000000000 (1 row)
So the parser does a type conversion on the operand and the query is equivalent to:
SELECT CAST(40 AS bigint) ! AS "40 factorial";
Example 10-2. String Concatenation Operator Type Resolution
A string-like syntax is used for working with string types and for working with complex extension types. Strings with unspecified type are matched with likely operator candidates.
An example with one unspecified argument:
SELECT text 'abc' || 'def' AS "text and unknown"; text and unknown ------------------ abcdef (1 row)
In this case the parser looks to see if there is an operator taking text for both arguments. Since there is, it assumes that the second argument should be interpreted as type text.
Here is a concatenation on unspecified types:
SELECT 'abc' || 'def' AS "unspecified"; unspecified ------------- abcdef (1 row)
In this case there is no initial hint for which type to use, since no types are specified in the query. So, the parser looks for all candidate operators and finds that there are candidates accepting both string-category and bit-string-category inputs. Since string category is preferred when available, that category is selected, and then the preferred type for strings, text, is used as the specific type to resolve the unknown literals as.
Example 10-3. Absolute-Value and Negation Operator Type Resolution
The PostgreSQL operator catalog has several entries for the prefix operator @, all of which implement absolute-value operations for various numeric data types. One of these entries is for type float8, which is the preferred type in the numeric category. Therefore, PostgreSQL will use that entry when faced with an unknown input:
SELECT @ '-4.5' AS "abs"; abs ----- 4.5 (1 row)
Here the system has implicitly resolved the unknown-type literal as type float8 before applying the chosen operator. We can verify that float8 and not some other type was used:
SELECT @ '-4.5e500' AS "abs"; ERROR: "-4.5e500" is out of range for type double precision
On the other hand, the prefix operator ~ (bitwise negation) is defined only for integer data types, not for float8. So, if we try a similar case with ~, we get:
SELECT ~ '20' AS "negation"; ERROR: operator is not unique: ~ "unknown" HINT: Could not choose a best candidate operator. You might need to add explicit type casts.
This happens because the system cannot decide which of the several possible ~ operators should be preferred. We can help it out with an explicit cast:
SELECT ~ CAST('20' AS int8) AS "negation"; negation ---------- -21 (1 row)


You're now ready to use Journal to write your thoughts and things that you want.
Click the button below to start writing and be awesome!


A command prefix to be invoked when search result become available.
The default setting, active when nothing was specified on object creation, is to print
the result (see below) to stdout. The result of the command prefix is
ignored. Errors thrown by the command prefix are caught and cause the invokation of
the error callback (see option -error below), with the error message as argument.
The signature of the command prefix is:
- $cmdprefix result
The result is a list of dictionaries, containing one item per hit.
Each dictionary will have the following entries:
- place_id
The place ID (FIXME: what's this?)
- licence
The data licence string
- osm_type
The OSM type of the location
- osm_id
FIXME
- boundingbox
The coordinates of the bounding box (min and max latitude, min and max longitude)
- lat
The location's latitude
- lon
The location's longitude
- display_name
the location's human readable name
- class
FIXME
- type
FIXME
- icon
FIXME


A simple unit generator to subtract values on a per-sample basis, primarily for use in modulation. Sub
has a constructor that accepts two values.
Simple ring modulation:
sine = Sine()
mod = Sine( .5, 50 )._ // disconnect!
sine.frequency = Sub( 440, Abs( mod ) )


Classes
The following classes are available globally.
-
MySQLClient allows execution of queries and the return of results from MySQL databases this class is never directly created. A connection pool should be used to create and manage connections.
See moreDeclaration
Swift
public class MySQLConnection: MySQLConnectionProtocol
-
MySQLConnectionPool manages connections to a MySQL database.
See morelet connectionString = MySQLConnectionString(host: "<IP_ADDRESS>") let pool = MySQLConnectionPool(connectionString: connectionString, poolSize: 10, defaultCharset: "utf8") pool.getConnection() { (connection: MySQLConnectionProtocol) in // use connection } // connection is returned to the pool
Declaration
Swift
public class MySQLConnectionPool: MySQLConnectionPoolProtocol
-
Undocumented
See more
-
Undocumented
See more
-
Undocumented
See more
-
Undocumented
See more
-
Undocumented
See more


Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …
Ruth Whippman has four embryos frozen in storage – four ready-made children suspended in time. The longer they are left, the more one thought gnaws at her …


Next: Valuator step types, Previous: Valuator reference counting, Up: Value methods [Contents][Index]
Steps through the tree in depth-first, left-to-right order. On success, does the following:
Marpa_Step_Type
.
The step type tells
the application how it expected to act on
the step.
See Valuator step types.
Steps are often referred to along with their step type so that,
for example, we say
“a MARPA_STEP_RULE
step”
to refer to a step whose step type
is MARPA_STEP_RULE
.
When the iteration through the steps is finished,
the step type is MARPA_STEP_INACTIVE
.
At this point, we say that the valuator is
inactive.
Once a valuator becomes inactive, it stays inactive.
Return value: On success, a Marpa_Step_Type
,
which always be a non-negative integer.
On hard failure, -2.


Changing to LED’s can be a challenging task with so many different wattages,
colours, sizes and manufactures available. Find out what you need to know about
choosing the right LED for you. LEDs are the future to lighting as it is more efficient,
has a better longevity, and cuts down on power costs. Changing your light fitting or
bulbs these days is an investment for the future and also helps fight against the raise
in electricity costs.