rep_consensus_group_id_mods: Hearsay Consensus Model with Individual-Level and Group...

Description Usage Arguments Details Value Examples

Description

This function builds and fits a lavaan model for asssessing individual-level moderators of hearsay consensus across multiple groups. It requires names of columns for P1 reports, P2 reports, an Individual Difference Moderator Variable, an interaction term, and a group-level moderator variable. The baseline/default model allows all estimated parameters to differ across groups. You can set some or all parameters to be equal across some or all groups by using the groups_eql and params_eql arguments.

Usage

1
2
3
4
5
rep_consensus_group_id_mods(data, model = NULL, p1_reports, p2_reports,
  id_mod_variable, interaction_term, group_mod = NULL, use_labs = TRUE,
  groups_eql = "none", params_eql = "none",
  n_triads = length(p1_reports), n_p1s_per_p2s = 1,
  n_p2s_per_p1s = 1)

Arguments

data

The dataframe. Data should be wide, with a row for every group of participants. At a minimum, it must contain five columns: one for P1-reports, one for P2-reports, one for the individual difference moderator, one for the interaction term, and one for the group moderated variable.

model

Optional. A model from the corresponding ReputationModelR model builder function. If this is supplied, no additional arguments need to be specified.

p1_reports

Quoted column names that contain P1 reports, or ratings made by the person that knows the target directly. If more than one is supplied, the target-wise order must match the other rating types.

p2_reports

Quoted column names that contain P2 reports, or ratings made by the person that knows the target indirectly through the corresponding P1. Ratings should be grand-mean-centered to increase the interpretibility of the model parameters. If more than one is supplied, the target-wise order must match the other rating types.

id_mod_variable

Quoted column names that contain the individual-level moderator of interest. If more than one is supplied from multiple exchangeable triads, the order must match the order of the ratings. Like P2-reports, the variable should be mean-centered to facilitate interpretability.

interaction_term

Quoted column names that contain the interaction term, or the product of the mean-centered P2-report and the mean-centered moderator variable. If more than one is supplied from multiple exchangeable triads, the target-wise order must match the order of the ratings.

group_mod

The quoted column name that contains a group-level categorical moderator.

use_labs

Logical indicating whether or not to use the group labels to create the parameter labels. If FALSE, generic labels (grp1 to grpk, where k is the number of groups) are used.

groups_eql

Optional. Groups that you want to constrain to be equal across some or all parameters. If you have use_labs set to TRUE, provide a vector of group labels corresponding to the groups you want to constrain to be equal. If you have use_labs set to FALSE, provide a vector of numbers corresponding to the position of the groups you want to constrain to be equal. If you provide "all", all groups will be constrained to be equal.

params_eql

Optional. Parameters that you want to constrain to be equal across the groups specified in groups_eql. You can provide one or more specific parameters (e.g., "hc_me" for hearsay consensus main effect), or use a built-in options including "all" which constrains all parameters to be equal across groups.

n_triads

The number of exchangeable triads in each group. By default, this is determined by counting the number of P1 reports. This parameter rarely needs to be changed.

n_p1s_per_p2s

The number of P1s for every P2. This defaults to 1. Currently, only values of 1 are supported.

n_p2s_per_p1s

The number of P2s for every P1;. This defaults to 1. Currently, only values of 1 are supported.

Details

The parameters estimated by this model are:

hc_me

hearsay consensus main effect; this should correspond to hearsay consensus at average level of moderator variable (if data were properly mean-centered).

mod_me

The meain effect of the moderator variable; it can be interpreted as the difference in P1-reports related to differences in the individual-level moderator variable.

interaction

This is the interaction term. It indicates the extent to which hearsay consensus, depends on the moderator variable

v_p1

variance for P1(T)

v_p2

variance for P2(T)

v_mod

variance for moderator variable

v_interaction

variance for interaction term

int_p1

intercept for P1(T)

int_p2

intercept for P2(T)

int_mod

intercept for moderator variable

int_interaction

intercept for interaction term

The function can handle up to n exchangeable triads.

Value

The function returns an object of class lavaan.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
data("rep_sim_data")
          # Prepare data
         moderator_data <- rep_sim_data %>%
           dplyr::mutate(B_C_agreeableness_cent = scale(B_C_agreeableness, scale = FALSE),
                  D_A_agreeableness_cent = scale(D_A_agreeableness, scale = FALSE),
                  B_iri_perspective_cent = scale(B_iri_perspective, scale = FALSE),
                  D_iri_perspective_cent = scale(D_iri_perspective, scale = FALSE),
                  B_ptXagree_interaction = B_C_agreeableness_cent*B_iri_perspective_cent,
                  D_ptXagree_interaction = D_A_agreeableness_cent*D_iri_perspective_cent)

    # Fit a model examining perspective taking moderating hearsay consensus across two studies
    # allowing estimates to differ across studies
agree_pt_mod_fit <- rep_consensus_group_id_mods(moderator_data,
                                          p1_reports = c("A_C_agreeableness", "C_A_agreeableness"),
                                          p2_reports = c("B_C_agreeableness_cent", "D_A_agreeableness_cent"),
                                          id_mod_variable = c("B_iri_perspective_cent", "D_iri_perspective_cent"),
                                          interaction_term = c("B_ptXagree_interaction", "D_ptXagree_interaction"),
                                          group_mod = "study")

# Alternatively:
agree_pt_mod_model <- rep_consensus_group_id_mods_builder (p1_reports = c("A_C_agreeableness", "C_A_agreeableness"),
                                                     p2_reports = c("B_C_agreeableness_cent", "D_A_agreeableness_cent"),
                                                     id_mod_variable = c("B_iri_perspective_cent", "D_iri_perspective_cent"),
                                                     interaction_term = c("B_ptXagree_interaction", "D_ptXagree_interaction"),
                                                     groups = levels(rep_sim_data$study))

agree_pt_mod_fit <- rep_consensus_group_id_mods(moderator_data, model = agree_pt_mod_model, group_mod = "study")

# constrain all parameters to be equal across all groups
agree_pt_mod_all_eq_fit<- rep_consensus_group_id_mods(moderator_data,
                                                p1_reports = c("A_C_agreeableness", "C_A_agreeableness"),
                                                p2_reports = c("B_C_agreeableness_cent", "D_A_agreeableness_cent"),
                                                id_mod_variable = c("B_iri_perspective_cent", "D_iri_perspective_cent"),
                                                interaction_term = c("B_ptXagree_interaction", "D_ptXagree_interaction"),
                                                group_mod = "study", groups_eql = "all", params_eql = "all")

# Or you could constrain one parameter to be equal across all groups
agree_pt_mod_hc_eq_fit<- rep_consensus_group_id_mods(moderator_data,
                                               p1_reports = c("A_C_agreeableness", "C_A_agreeableness"),
                                               p2_reports = c("B_C_agreeableness_cent", "D_A_agreeableness_cent"),
                                               id_mod_variable = c("B_iri_perspective_cent", "D_iri_perspective_cent"),
                                               interaction_term = c("B_ptXagree_interaction", "D_ptXagree_interaction"),
                                               group_mod = "study", groups_eql = "all", params_eql = "hc_me")

Coryc3133/ReputationAnalyses documentation built on July 31, 2019, 8:35 a.m.