Package 'persval'

Title: Computing Personal Values Scores
Description: Compute personal values scores from various questionnaires based on the theoretical constructs proposed by professor Shalom H. Schwartz. Designed for researchers and practitioners in psychology, sociology, and related fields, the package facilitates the quantification of different dimensions related to personal values from survey data. It incorporates the recommended statistical adjustment to enhance the accuracy and interpretation of the results. Note: The package 'persval' is independently developed based on the personal values theoretical framework, and is not directly endorsed by professor Schwartz.
Authors: Giuseppe Corbelli [aut, cre]
Maintainer: Giuseppe Corbelli <[email protected]>
License: GPL-3
Version: 1.1.0
Built: 2024-10-26 04:25:31 UTC
Source: https://github.com/g-corbelli/persval

Help Index


Plot spider chart for four higher order personal values

Description

This function generates a spider chart based on four higher order Basic Human Values: Openness to Change, Self-Enhancement, Conservation, and Self-Transcendence. This visualization helps in understanding the profile of higher order values for individuals or groups.

Usage

fourvalplot(df, valueMap, corrected = TRUE, standerr = TRUE, na.rm = TRUE)

Arguments

df

A dataframe containing computed values for the four higher order personal values.

valueMap

A named vector where names are the four higher order personal values: Openness to Change ("OPEN"), Self-enhancement ("SELFENH"), Conservation ("CONS"), Self-transcendence ("SELFTRANS"). Vector values correspond to the column names in the dataframe.

corrected

Logical. Indicates if data are ipsatized (range -4 to +4); if FALSE, data are raw scores (range 1 to 5).

standerr

Logical. When TRUE, plots mean ± SE lines; when FALSE, plots only the mean.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs affect calculations.

Value

A spider chart visualizing the four higher order values.

Examples

df <- data.frame(
  open_comp = runif(10, 1, 5), selfenh_comp = runif(10, 1, 5),
  cons_comp = runif(10, 1, 5), selftrans_comp = runif(10, 1, 5)
)
valueMap <- c(OPEN = "open_comp", SELFENH = "selfenh_comp",
              CONS = "cons_comp", SELFTRANS = "selftrans_comp")
fourvalplot(df, valueMap, corrected = TRUE, standerr = TRUE)

Computing and visualizing Schwartz's Personal Values

Description

The persval package provides functions for computing personal values scores from various questionnaires based on the theoretical constructs proposed by Schwartz (Schwartz, 1992, 1996, 2015; Schwartz et al., 2017). Designed to assist researchers and practitioners in psychology, sociology, and related fields, the package facilitates the quantification of different dimensions related to personal values from survey data and the graphical representation of their relative importance. It incorporates the recommended statistical adjustment (ipsatization) to enhance the accuracy and interpretation of the results.

Details

Supported questionnaires within the package include:

  • svs: SVS-57, the Schwartz Value Survey with 57 items (Schwartz, 1992).

  • pvq40: PVQ-40, the Portrait Values Questionnaire with 40 items (Schwartz, 2006; Schwartz et al., 2001).

  • pvq21: PVQ-21/ESS-21, the shortened version of PVQ used in the European Social Survey (Schwartz, 2003).

  • twivi: TwIVI, the Twenty Item Values Inventory (Sandy et al., 2017).

  • tivi: TIVI, the Ten Item Values Inventory (Sandy et al., 2017).

The package includes functions to generate spider charts that graphically depict the relative importance of each of the ten basic personal values and the four higher order values, making it easier to present, interpret, and confront visually an individual's or group's value orientation:

  • tenvalplot: Function to plot spider charts for ten basic personal values.

  • fourvalplot: Function to plot spider charts for four higher order personal values.

Note

This package is independently developed based on Schwartz’s theoretical framework and is not directly endorsed by Professor Schwartz. Researchers are advised to consult the original studies and validation articles for comprehensive insights into the theoretical and empirical basis of the instruments used (e.g.: Closs, 1996; Cornwell & Dunlop, 1994; Rudnev, 2021; Saris, 1988; Schwartz, 1992, 1996, 2015; Schwartz et al., 2017; Smith, 2004; Van Rosmalen et al., 2010).

Author(s)

Maintainer: Giuseppe Corbelli [email protected] (ORCID)

References

Closs, S. J. (1996). On the factoring and interpretation of ipsative data. Journal of Occupational and Organizational Psychology, 69(1), 41-47. doi:10.1111/j.2044-8325.1996.tb00598.x

Cornwell, J. M., & Dunlap, W. P. (1994). On the questionable soundness of factoring ipsative data: A response to Saville and Willson (1991). Journal of Occupational and Organizational Psychology, 67, 89-100. doi:10.1111/j.2044-8325.1994.tb00553.x

Rudnev, M. (2021). Caveats of non-ipsatization of basic values: A review of issues and a simulation study. Journal of Research in Personality, 93, 104-118. doi:10.1016/j.jrp.2021.104118

Sandy, C. J., Gosling, S. D., Schwartz, S. H., & Koelkebeck, T. (2017). The development and validation of brief and ultrabrief measures of values. Journal of Personality Assessment, 99(5), 545-555. doi:10.1080/00223891.2016.1231115

Saris, W. E. (Ed.). (1988). Variation in response functions: A source of measurement error in attitude research. Amsterdam: Sociometric Research Foundation.

Schwartz, S. H. (1992). Universals in the content and structure of values: Theory and empirical tests in 20 countries. In M. Zanna (Ed.), Advances in experimental social psychology (Vol. 25, pp. 1-65). New York: Academic Press. doi:10.1016/s0065-2601(08)60281-6

Schwartz, S. H. (1996). Value priorities and behavior: Applying a theory of integrated value systems. In C. Seligman, J. M. Olson, & M. P. Zanna (Eds.), The psychology of values: The Ontario symposium (Vol. 8, pp. 1-24). Hillsdale, NJ: Erlbaum.

Schwartz, S. H., Melech, G., Lehmann, A., Burgess, S., & Harris, M. (2001). Extending the cross-cultural validity of the theory of basic human values with a different method of measurement. Journal of Cross-Cultural Psychology, 32, 519-542. doi:10.1177/0022022101032005001

Schwartz, S. H. (2003). A proposal for measuring value orientations across nations. Questionnaire package of the European Social Survey, 259(290), 261.

Schwartz, S. H. (2006). Basic human values: Theory, measurement, and applications. Revue Francaise de Sociologie, 47, 929-968.

Schwartz, S. H. (2015). Basic individual values: Sources and consequences. In D. Sander & T. Brosch (Eds.), Handbook of value (pp. 63-84). Oxford, UK: Oxford University Press. doi:10.1093/acprof:oso/9780198716600.003.0004

Schwartz, S. H., Cieciuch, J., Vecchione, M., Torres, C., Dirilem-Gumus, O., & Butenko, T. (2017). Value tradeoffs propel and inhibit behavior: Validating the 19 refined values in four countries. European Journal of Social Psychology, 47(3), 241–258. doi:10.1002/ejsp.2228

Smith, P. B. (2004). Acquiescent response bias as an aspect of cultural communications style. Journal of Cross-Cultural Psychology, 35(1), 50-61. doi:10.1177/0022022103260380

Van Rosmalen, J., Van Herk, H., & Groenen, P. J. F. (2010). Identifying response styles: A latent-class bilinear multinomial logit model. Journal of Marketing Research, 47(1), 157-172. doi:10.1509/jmkr.47.1.157

See Also

Useful links:


Compute personal values from PVQ-21/ESS21 data

Description

This function computes personal values scores and different higher-order dimensions related to Schwartz's theoretical framework based on the 21 items of the PVQ-21 European Social Survey Value Scale (Schwartz, 2003). By default, the function applies the recommended statistical adjustment (individual MRAT centering) as suggested by the authors, to correct for individual differences in response styles thus enhancing the interpretative validity of the scores.

Usage

pvq21(df, items = NULL, compute = "all", correction = TRUE, na.rm = TRUE)

Arguments

df

A Data frame containing the raw responses for the 21 PVQ items. If "items" is not provided, it must have exactly 21 columns, and their order must correspond to the PVQ-21 items.

items

An optional vector containing the names or indices of the columns that correspond to the PVQ-21 items. Must be exactly 21 items. If NULL, the function assumes the items are the only columns given in the "df" parameter.

compute

Character. Indicates which personal values scores to compute and return. Possible values are "all" (default), "ten.values", "four.higher", "two.foci", or "two.dynamics".

correction

Logical. When TRUE, the scores are corrected for individual differences in the use of the response scale. Default is TRUE.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs are preserved and will affect calculations. Default is TRUE.

Value

A data frame with computed values. If both "df" and "items" parameters are provided, the returned data frame includes the original data with the calculations appended as new columns.

Note

Developed by Giuseppe Corbelli, email: [email protected], [email protected]

Examples

persval::pvq21(df = data.frame(
pvq1 = c(3, 1, 4), pvq2 = c(2, 5, 3), pvq3 = c(1, 5, 2), pvq4 = c(4, 3, 5),
pvq5 = c(5, 2, 1), pvq6 = c(3, 4, 2), pvq7 = c(1, 2, 4), pvq8 = c(3, 1, 5),
pvq9 = c(2, 4, 1), pvq10 = c(5, 3, 2), pvq11 = c(1, 4, 3), pvq12 = c(2, 1, 5),
pvq13 = c(3, 5, 4), pvq14 = c(1, 2, 3), pvq15 = c(4, 5, 1), pvq16 = c(2, 3, 4),
pvq17 = c(5, 1, 2), pvq18 = c(3, 4, 1), pvq19 = c(2, 3, NA), pvq20 = c(1, 3, 4),
pvq21 = c(2, 5, 1)
),
correction = TRUE,
compute = "all",
na.rm = TRUE)

Compute personal values from PVQ-40 data

Description

This function computes personal values scores and different higher-order dimensions related to Schwartz's theoretical framework based on the 40 items of the PVQ-40 Value Scale (Schwartz, 2006; Schwartz et al., 2001). By default, the function applies the recommended statistical adjustment (individual MRAT centering) as suggested by the authors, to correct for individual differences in response styles thus enhancing the interpretative validity of the scores.

Usage

pvq40(df, items = NULL, compute = "all", correction = TRUE, na.rm = TRUE)

Arguments

df

A Data frame containing the raw responses for the 40 PVQ items. If "items" is not provided, it must have exactly 40 columns, and their order must correspond to the PVQ-40 items.

items

An optional vector containing the names or indices of the columns that correspond to the PVQ-40 items. Must be exactly 40 items. If NULL, the function assumes the items are the only columns given in the "df" parameter.

compute

Character. Indicates which personal values scores to compute and return. Possible values are "all" (default), "ten.values", "four.higher", "two.foci", or "two.dynamics".

correction

Logical. When TRUE, the scores are corrected for individual differences in the use of the response scale. Default is TRUE.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs are preserved and will affect calculations. Default is TRUE.

Value

A data frame with computed values. If both "df" and "items" parameters are provided, the returned data frame includes the original data with the calculations appended as new columns.

Note

Developed by Giuseppe Corbelli, email: [email protected], [email protected]

Examples

persval::pvq40(df = data.frame(
pvq1 = c(3, 1, 4), pvq2 = c(2, 5, 3), pvq3 = c(1, 5, 2), pvq4 = c(4, 3, 5),
pvq5 = c(5, 2, 1), pvq6 = c(3, 4, 2), pvq7 = c(1, 2, 4), pvq8 = c(3, 1, 5),
pvq9 = c(2, 4, 1), pvq10 = c(5, 3, 2), pvq11 = c(1, 4, 3), pvq12 = c(2, 1, 5),
pvq13 = c(3, 5, 4), pvq14 = c(1, 2, 3), pvq15 = c(4, 5, 1), pvq16 = c(2, 3, 4),
pvq17 = c(5, 1, 2), pvq18 = c(3, 4, 1), pvq19 = c(2, 3, NA), pvq20 = c(1, 3, 4),
pvq21 = c(2, 5, 1), pvq22 = c(4, 1, 5), pvq23 = c(3, 4, 2), pvq24 = c(5, 1, 3),
pvq25 = c(4, 2, 5), pvq26 = c(1, 3, 2), pvq27 = c(5, 4, 1), pvq28 = c(2, 1, 4),
pvq29 = c(3, 5, 2), pvq30 = c(1, 4, 3), pvq31 = c(2, 3, 5), pvq32 = c(4, 1, NA),
pvq33 = c(3, 5, 4), pvq34 = c(1, 2, 3), pvq35 = c(4, 1, 5), pvq36 = c(2, 3, 4),
pvq37 = c(5, 2, 1), pvq38 = c(4, 3, 2), pvq39 = c(1, 5, 3), pvq40 = c(2, 4, 1)
),
correction = TRUE,
compute = "all",
na.rm = TRUE)

Compute personal values from SVS-57 data

Description

This function computes personal values scores and different higher-order dimensions related to Schwartz's theoretical framework based on the 57 items of the Schwartz Value Survey (Schwartz, 1992). By default, the function applies the recommended statistical adjustment (individual MRAT centering) as suggested by the authors, to correct for individual differences in response styles thus enhancing the interpretative validity of the scores.

Usage

svs(df, items = NULL, compute = "all", correction = TRUE, na.rm = TRUE)

Arguments

df

A data frame containing the raw responses for the SVS items. If "items" is not provided, it must have exactly 57 columns, and their order must correspond to the SVS items.

items

An optional vector containing the names or indices of the columns that correspond to the SVS items. Must be exactly 57 items. If NULL, the function assumes the items are the only columns given in the "df" parameter.

compute

Character. Indicates which personal values scores to compute and return. Possible values are "all" (default), "ten.values", "four.higher", "two.foci", or "two.dynamics".

correction

Logical. When TRUE, the scores are corrected for individual differences in the use of the response scale. Default is TRUE.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs are preserved and will affect calculations. Default is TRUE.

Value

A data frame with computed values. If both "df" and "items" parameters are provided, the returned data frame includes the original data with the calculations appended as new columns.

Note

Developed by Giuseppe Corbelli, email: [email protected], [email protected]

Examples

persval::svs(df = data.frame(
  svs1 = c(3, 1, 4), svs2 = c(2, 5, 3), svs3 = c(1, 5, 2), svs4 = c(4, 3, 5),
  svs5 = c(5, 2, 1), svs6 = c(3, 4, 2), svs7 = c(1, 2, 4), svs8 = c(3, 1, 5),
  svs9 = c(2, 4, 1), svs10 = c(5, 3, 2), svs11 = c(1, 4, 3), svs12 = c(2, 1, 5),
  svs13 = c(3, 5, 4), svs14 = c(1, 2, 3), svs15 = c(4, 5, 1), svs16 = c(2, 3, 4),
  svs17 = c(5, 1, 2), svs18 = c(3, 4, 1), svs19 = c(2, 3, NA), svs20 = c(1, 3, 4),
  svs21 = c(2, 5, 1), svs22 = c(4, 1, 5), svs23 = c(3, 4, 2), svs24 = c(5, 1, 3),
  svs25 = c(4, 2, 5), svs26 = c(1, 3, 2), svs27 = c(5, 4, 1), svs28 = c(2, 1, 4),
  svs29 = c(3, 5, 2), svs30 = c(1, 4, 3), svs31 = c(2, 3, 5), svs32 = c(4, 1, NA),
  svs33 = c(3, 5, 4), svs34 = c(1, 2, 3), svs35 = c(4, 1, 5), svs36 = c(2, 3, 4),
  svs37 = c(5, 2, 1), svs38 = c(4, 3, 2), svs39 = c(1, 5, 3), svs40 = c(2, 4, 1),
  svs41 = c(5, 1, 2), svs42 = c(3, 2, 4), svs43 = c(2, 5, 3), svs44 = c(4, 1, 5),
  svs45 = c(3, 2, 4), svs46 = c(1, 5, 3), svs47 = c(4, 3, 2), svs48 = c(5, 1, 2),
  svs49 = c(3, 4, 1), svs50 = c(2, 5, NA), svs51 = c(1, 4, 3), svs52 = c(2, 1, 5),
  svs53 = c(3, 5, 4), svs54 = c(1, 2, 3), svs55 = c(4, 5, 1), svs56 = c(2, 3, 4),
  svs57 = c(5, 1, 2)
),
correction = TRUE,
compute = "all",
na.rm = TRUE)

Plot spider chart for ten specific personal values

Description

This function generates a spider chart based on the Basic Human Values. It requires exactly ten value categories corresponding to the 10 predefined personal values. This visualization helps in understanding the individual or average profile of personal values.

Usage

tenvalplot(df, valueMap, corrected = TRUE, standerr = TRUE, na.rm = TRUE)

Arguments

df

A dataframe containing the computed values for the ten specific personal values.

valueMap

A named vector where names correspond to the ten personal values: Conformity ("CO"), Tradition ("TR"), Benevolence ("BE"), Achievement ("AC"), Power ("PO"), Security ("SE"), Stimulation ("ST"), Self-direction ("SD"), Universalism ("UN"), Hedonism ("HE"). Vector values correspond to the column names in the dataframe.

corrected

Logical. When TRUE, data are already ipsatized (range -4 to +4); when FALSE, data are raw scores (range 1 to 5). Defaults to TRUE.

standerr

Logical. When TRUE, plots mean-SE and mean+SE lines; when FALSE, plots only the mean. Default is TRUE.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs are preserved and will affect calculations. Default is TRUE.

Examples

df <- data.frame(
  conf_comp = runif(10, 1, 5), trad_comp = runif(10, 1, 5),
  bene_comp = runif(10, 1, 5), achie_comp = runif(10, 1, 5),
  power_comp = runif(10, 1, 5), sec_comp = runif(10, 1, 5),
  stim_comp = runif(10, 1, 5), selfdir_comp = runif(10, 1, 5),
  univ_comp = runif(10, 1, 5), hedo_comp = runif(10, 1, 5)
)
valueMap <- c(CO = "conf_comp", TR = "trad_comp",
              BE = "bene_comp", AC = "achie_comp",
              PO = "power_comp", SE = "sec_comp",
              ST = "stim_comp", SD = "selfdir_comp",
              UN = "univ_comp", HE = "hedo_comp")
tenvalplot(df, valueMap)

Compute personal values from TIVI data

Description

This function computes personal values scores and different higher-order dimensions related to Schwartz's theoretical framework based on the 10 items of the ultra-brief TIVI Questionnaire (Sandy et al., 2017). By default, the function applies the recommended statistical adjustment (individual MRAT centering) as suggested by the authors, to correct for individual differences in response styles thus enhancing the interpretative validity of the scores.

Usage

tivi(df, items = NULL, compute = "all", correction = TRUE, na.rm = TRUE)

Arguments

df

A data frame containing the raw responses for the 10 TIVI items. If "items" is not provided, it must have exactly 10 columns, and their order must correspond to the TIVI items.

items

An optional vector containing the names or indices of the columns that correspond to the TIVI items. Must be exactly 10 items. If NULL, the function assumes the items are the only columns given in the "df" parameter.

compute

Character. Indicates which personal values scores to compute and return. Possible values are "all" (default), "ten.values", "four.higher", "two.foci", or "two.dynamics".

correction

Logical. When TRUE, the scores are corrected for individual differences in the use of the response scale. Default is TRUE.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs are preserved and will affect calculations. Default is TRUE.

Value

A data frame with computed values. If both "df" and "items" parameters are provided, the returned data frame includes the original data with the calculations appended as new columns.

Note

Developed by Giuseppe Corbelli, email: [email protected], [email protected]

Examples

persval::tivi(df = data.frame(
tivi1 = c(3, 1, 4), tivi2 = c(2, 5, 3), tivi3 = c(1, 5, 2),
tivi4 = c(4, 3, 5), tivi5 = c(5, 2, 1), tivi6 = c(3, 4, 2), tivi7 = c(1, 2, 4),
tivi8 = c(3, 1, 5), tivi9 = c(2, 4, 1), tivi10 = c(5, 3, 2)
),
correction = TRUE,
compute = "all",
na.rm = TRUE)

Compute personal values from TwIVI data

Description

This function computes personal values scores and different higher-order dimensions related to Schwartz's theoretical framework based on the 20 items of the TwIVI Questionnaire (Sandy et al., 2017). By default, the function applies the recommended statistical adjustment (individual MRAT centering) as suggested by the authors, to correct for individual differences in response styles thus enhancing the interpretative validity of the scores.

Usage

twivi(df, items = NULL, compute = "all", correction = TRUE, na.rm = TRUE)

Arguments

df

A Data frame containing the raw responses for the 20 TwIVI items. If "items" is not provided, it must have exactly 20 columns, and their order must correspond to the TwIVI items.

items

An optional vector containing the names or indices of the columns that correspond to the TwIVI items. Must be exactly 20 items. If NULL, the function assumes the items are the only columns given in the "df" parameter.

compute

Character. Indicates which personal values scores to compute and return. Possible values are "all" (default), "ten.values", "four.higher", "two.foci", or "two.dynamics".

correction

Logical. When TRUE, the scores are corrected for individual differences in the use of the response scale. Default is TRUE.

na.rm

Logical. When TRUE, NAs are ignored in calculations; when FALSE, NAs are preserved and will affect calculations. Default is TRUE.

Value

A data frame with computed values. If both "df" and "items" parameters are provided, the returned data frame includes the original data with the calculations appended as new columns.

Note

Developed by Giuseppe Corbelli, email: [email protected], [email protected]

Examples

persval::twivi(df = data.frame(
twivi1 = c(3, 1, 4), twivi2 = c(2, 5, 3), twivi3 = c(1, 5, 2), twivi4 = c(4, 3, 5),
twivi5 = c(5, 2, 1), twivi6 = c(3, 4, 2), twivi7 = c(1, 2, 4), twivi8 = c(3, 1, 5),
twivi9 = c(2, 4, 1), twivi10 = c(5, 3, 2), twivi11 = c(1, 4, 3), twivi12 = c(2, 1, 5),
twivi13 = c(3, 5, 4), twivi14 = c(1, 2, 3), twivi15 = c(4, 5, 1), twivi16 = c(2, 3, 4),
twivi17 = c(5, 1, 2), twivi18 = c(3, 4, 1), twivi19 = c(2, 3, NA), twivi20 = c(1, 3, 4)
),
correction = TRUE,
compute = "all",
na.rm = TRUE)