Published August 28, 2026 | Version v1
Dataset Restricted

Dataset_The development and psychometric evaluation of the brief Compulsive Pornography Use Scale (CPUS-4)

  • 1. Charles University
  • 2. Birkbeck University of London
  • 3. Palacký University Olomouc

Description

## Overview Overview Dataset obsahuje individuální odpovědi z průřezového online dotazníkového šetření u dospělých v České republice. Studie byla zaměřena na vývoj a psychometrické ověření čtyřpoložkové škály Compulsive Pornography Use Scale (CPUS-4), která zachycuje behaviorální projevy kompulzivního užívání pornografie v návaznosti na rámec ICD-11 pro kompulzivní sexuální chování. Součástí dat jsou sociodemografické údaje, charakteristiky užívání pornografie a položky a skóry CPUS-4, PAST, DASS-21 a UCLA-3. Rukopis uvádí výchozí vzorek 1 134 respondentů a analytický vzorek 1 023 respondentů po vyloučení 111 případů s chybějícími položkami hlavních psychometrických nástrojů. Data slouží především k psychometrickým analýzám a studiu souvislostí mezi užíváním pornografie, psychickými obtížemi a osamělostí. Nereprezentativní výběr, sebevýpovědní měření a průřezový design omezují zobecnitelnost a neumožňují vyvozovat kauzalitu. CPUS-4 není samostatným diagnostickým nástrojem. Jedná se o citlivé osobní údaje, které mohou být zpřístupněny pouze na základě žádosti adresované autorům a s jejich souhlasem. Související článek: Babilonová, T., Pontes, H. M., Pipová, H., Reháková, T., Komrska, Š., & Suchá, J. (2026). The development and psychometric evaluation of the brief Compulsive Pornography Use Scale (CPUS-4). BMC Psychology. https://doi.org/10.1186/s40359-026-05328-1. ## Methods • Průřezové, neintervenční online dotazníkové šetření u dospělých v České republice. • Nepravděpodobnostní příležitostný výběr a samovýběr; distribuce přes sociální sítě Facebook, Instagram a Discord. • Sběr probíhal od ledna do března 2024. • Analytický vzorek: N = 1 023, 364 mužů, 632 žen, 10 osob v kategorii "jiné" a 17 chybějících údajů o genderu. Respondenti jsou ve věku 18–72 let, průměrný věk je 27,52 roku (SD = 7,74). • Pro EFA a CFA byl analytický vzorek náhodně rozdělen se stratifikací podle genderu a věkových tercilů: EFA n = 511, CFA n = 512. Chybějící gender tvořil samostatné stratum. ## Data structure Proměnná / proměnné Popis, jednotka a kódování ID Číselný identifikátor záznamu; 1 089 dostupných jedinečných hodnot. Date Datum a čas záznamu. Time Číselný údaj 146–9 249; doba vyplňování v sekundách. Gender 1 = muž, 2 = žena, 4 = jiné; mapování odvozené dle výše uvedeného postupu. Kód 3 (nechci odpovědět) se nevyskytuje. Age Věk v letech; 18–72. occupation 0 = neuvedeno; 1 = student/ka; 2 = zaměstnaný/á; 3 = OSVČ; 4 = nezaměstnaný/á / nestudující; 5 = jiné (např. rodičovská dovolená, důchod, dlouhodobá péče). education 0 = neuvedeno; 1 = základní (ISCED 2); 2 = střední bez maturity (ISCED 3); 3 = střední s maturitou (ISCED 3); 4 = vyšší odborné (ISCED 5); 5 = vysokoškolské (ISCED 6–8). ageporn Odhadovaný věk prvního kontaktu s pornografickým materiálem, roky; 0–40. Nula znamená nikdy. porn30d Počet případů sledování pornografie za posledních 30 dnů; 0–50. Jde o počet sledování, nikoli počet dnů. porntime1 Průměrná denní doba sledování pornografie v pracovní den, v hodinách (rozpětí 0–5) porntime2 Průměrná denní doba sledování pornografie ve volný den, v hodinách (rozpětí 0–12). ucla1, ucla2, ucla3 Položky osamělosti; v souboru 0, 1, 2, 3. Nula znamená, že respondent položku nevyplnil. Odpovědi byly kódovány na škále od 1 do 3 následovně: 1 = téměř nikdy, 2 = někdy a 3 = často. ucla_ts Součet položek ucla1–ucla3. past1–past25 Každý celočíselný index od 1 do 25 označuje samostatnou položku PAST. Odpovědi byly kódovány na škále od 0 do 4 následovně: 0 = nikdy, 1 = jeden až dvakrát, 2 = zřídka, 3 = někdy a 4 = často. past_ts Součet položek past1–past25. cpus1, cpus2, cpus3, cpus4 Položky CPUS-4; Odpovědi byly kódovány na škále od 1 do 5 následovně: 1 = nikdy, 2 = málokdy, 3 = někdy, 4 = často a 5 = velmi často. Nula znamená, že respondent položku nevyplnil. cpus_ts Součet položek cpus1–cpus4 dass1, dass6, dass8, dass11, dass12, dass14, dass18 Sedm položek faktoru stresu DASS-21. Odpovědi byly kódovány na škále od 0 do 3 následovně: 0 = vůbec se mě to netýkalo, 1 = do určité míry nebo někdy se mě to týkalo, 2 = do velké míry nebo často se mě to týkalo a 3 = velice nebo skoro vždy se mě to týkalo. dass3, dass5, dass10, dass13, dass16, dass17, dass21 Sedm položek faktoru deprese DASS-21. Odpovědi byly kódovány na škále od 0 do 3 následovně: 0 = vůbec se mě to netýkalo, 1 = do určité míry nebo někdy se mě to týkalo, 2 = do velké míry nebo často se mě to týkalo a 3 = velice nebo skoro vždy se mě to týkalo. dass2, dass4, dass7, dass9, dass15, dass19, dass20 Sedm položek faktoru úzkosti DASS-21. Odpovědi byly kódovány na škále od 0 do 3 následovně: 0 = vůbec se mě to netýkalo, 1 = do určité míry nebo někdy se mě to týkalo, 2 = do velké míry nebo často se mě to týkalo a 3 = velice nebo skoro vždy se mě to týkalo. dep_ts Součet sedmi položek faktoru deprese. anx_ts Součet sedmi položek faktoru úzkosti. str_ts Součet sedmi položek faktoru stresu. ## Usage Jak data načíst Příklad pro Python s pandas a openpyxl. Soubory umístěte do pracovního adresáře. Kód zachovává původní hodnoty a neprovádí neověřené překódování. Příklad pro Python: from pathlib import Path import pandas as pd path = Path("dataset_cpus.xlsx") df = pd.read_excel(path, sheet_name="Data", engine="openpyxl") df = df.dropna(axis=1, how="all") # pouze zcela prázdné sloupce print("Řádkové pozice a proměnné:", df.shape) # (1134, 72) print("Zcela prázdné řádky:", df.isna().all(axis=1).sum()) # 14 items = ( [f"ucla{i}" for i in range(1, 4)] + [f"past{i}" for i in range(1, 26)] + [f"cpus{i}" for i in range(1, 5)] + [f"dass{i}" for i in range(1, 22)] ) analytic = df.dropna(subset=items).copy() print("Kompletní případy:", len(analytic)) # 1023 # Jde o reprodukci výběru podle chybějících položek, # nikoli potvrzení správnosti veškerého kódování. print("Nuly v UCLA v analytickém vzorku:", analytic[["ucla1", "ucla2", "ucla3"]].eq(0).any(axis=1).sum()) # 6 # Přepočet do nového sloupce, bez přepsání uloženého skóru. past_items = [f"past{i}" for i in range(1, 26)] df["past_ts_recomputed"] = df[past_items].sum(axis=1, min_count=25) available = df[["past_ts", "past_ts_recomputed"]].notna().all(axis=1) mismatch = available & df["past_ts"].ne(df["past_ts_recomputed"]) print(df.loc[mismatch, ["ID", "past_ts", "past_ts_recomputed"]]) Požadavky na software nebo závislosti Pro uvedený příklad je potřeba Python 3, pandas a openpyxl (pip install pandas openpyxl). Pro reprodukci publikovaných analýz je relevantní R a balíčky uvedené v oddílu Methods. XLSX lze prohlížet také v Excelu nebo LibreOffice Calc. Známá omezení pro re-use • Prázdné buňky znamenají, že údaj byl odstraněn v rámci čištění dat. • Výběr kompletních případů reprodukuje velikost analytického vzorku a tabulku 1. • Vzorek je nereprezentativní a převažují ženy a mladší dospělí. Nelze z něj bez dalšího odvozovat populační prevalenci ani zobecňovat výsledky na děti, klinickou populaci nebo jiné jazykové prostředí. • Sebevýpovědní údaje mohou být ovlivněny vybavováním a sociální žádoucností. Jednotlivé nástroje mají rozdílná referenční období. • Použití datasetu je podmíněno vyžádáním od korespondenčního autora, jeho licence je CC BY 4.0. • Před veřejným sdílením je nutné vyjasnit zacházení s přesnými časovými značkami a dalšími potenciálně rozlišujícími údaji. ## Change log - 2026-09-26: První vydání ## Contact Jaroslava Suchá, jaroslava.sucha@upol.cz ACCESS CONDITIONS Access to this record is restricted due to: Personal sensitive data. Access may be granted for legitimate research purposes upon reasonable request and subject to approval by the data steward. To request access, please contact: Jaroslava Suchá (jaroslava.sucha@upol.cz). The request should include: • brief project description and intended use • institutional affiliation • agreement to sign a Data Use Agreement (DUA), if required

Notes

Funding: This output/paper has been produced with the support of the project ReDiKid: Resilient Kid in Digital World, reg. no. CZ.02.01.01/00/23_025/0008686 co-funded by the EU.

Files

Restricted

The record is publicly accessible, but files are restricted. Log in to check if you have access.

Additional details

Related works

Is referenced by
10.1186/s40359-026-05328-1 (DOI)