报告 | 关于大众的民族和宗教信仰二者之间的联系分析———基于CGSS2021的实证研究

文摘   2024-08-06 00:00   北京  



关于大众的

民族和宗教信仰

二者之间的联系分析


01

问题概述

中国是一个多民族、多宗教的国家,不同民族和宗教信仰在社会文化和历史背景中扮演着重要的角色。随着社会的不断发展,了解民族与宗教信仰之间的关系变得越来越重要。本研究旨在通过分析中国社会综合调查(CGSS)2021年的数据,探讨不同民族的宗教信仰分布情况,以及民族与宗教信仰之间的相互影响和关联性。这将有助于更好地理解中国社会的多样性,为相关政策的制定提供参考。


02

文献综述

现有研究表明,民族和宗教信仰在社会文化和历史背景中有着复杂的关系。许多学者通过定量和定性的方法研究不同民族的宗教信仰模式,发现了许多有趣的现象。例如,汉族主要信仰佛教、道教和民间信仰,而回族则主要信仰伊斯兰教【牟钟鉴,2013】。研究还发现,不同民族的宗教信仰分布与其社会经济地位、文化传统和历史背景密切相关。然而,仍然存在一些不足之处,如样本量不足、数据覆盖面不广等。本研究将利用CGSS 2021年的数据,试图弥补这些不足,并进一步探讨民族与宗教信仰之间的关系。

03

模型构建或方法

数据预处理:读取CGSS 2021年的数据,并选择相关变量进行处理和转换,包括民族和宗教信仰。

描述性统计分析:通过可视化方法展示不同民族的宗教信仰分布情况,包括生成民族和宗教信仰的饼图和比例图表。 

交叉分析:生成民族与宗教信仰的交叉表,并使用卡方检验分析两者之间的关联性。如果交叉表中有0值,则使用Fisher检验。

回归分析:构建Logistic回归模型,分析不同民族对不信仰宗教、佛教和基督教的影响,计算回归系数及其odds ratio和置信区间。 

细分分析: 

宗教信仰内部的民族组成分析:分析排名前三的宗教信仰(不信仰宗教、佛教、基督教)内部的民族组成,并生成相应的饼图。 

民族内部的宗教信仰分析:分析排名前三的民族(汉族、回族、壮族)的宗教信仰分布,并生成相应的饼图。

04

数据分析

options(digits = 4)set.seed(1234)
# 加载所需包required_packages <- c("haven", "dplyr", "ggplot2", "knitr", "rmarkdown")
for (pkg in required_packages) {  if (!require(pkg, character.only = TRUE)) {    install.packages(pkg, dependencies = TRUE)    library(pkg, character.only = TRUE)  }}
# 读取数据file_path <- "D:\\下载\\期末作业内容2024\\期末作业内容2024\\CGSS2021.sav"data <- read_sav(file_path)
# 提取A4和A5列data_subset <- data %>% select(A4, A5)
# 映射民族ethnicity_map <- c("汉", "蒙", "满", "回", "藏", "壮", "维", "其他")data_subset$Ethnicity <- factor(data_subset$A4, levels = 1:8, labels = ethnicity_map)
# 映射宗教信仰religion_map <- c("不信仰宗教", "佛教", "道教", "民间信仰", "回教/伊斯兰教", "天主教", "基督教", "东正教", "其他基督教", "犹太教", "印度教", "其他")data_subset$Religion <- factor(data_subset$A5, levels = c(1, 11:21), labels = religion_map)
# 生成交叉表cross_table <- table(data_subset$Ethnicity, data_subset$Religion)
# 显示交叉表cross_table_df <- as.data.frame.matrix(cross_table)kable(cross_table_df, caption = "民族与宗教信仰的交叉表")
# 进行统计检验if (any(cross_table == 0)) {  # 使用Fisher检验,模拟p值  fisher_test <- fisher.test(cross_table, simulate.p.value = TRUE)  print(fisher_test)} else {  # 使用卡方检验  chi_square_test <- chisq.test(cross_table)  print(chi_square_test)}## ##  Fisher's Exact Test for Count Data with simulated p-value (based on##  2000 replicates)## ## data:  cross_table## p-value = 5e-04## alternative hypothesis: two.sided# 设置阈值threshold <- 0.05
# 生成民族与宗教信仰的比例图表ggplot(data_subset, aes(x = Ethnicity, fill = Religion)) +  geom_bar(position = "fill") +  geom_text(    aes(label = ifelse((..count../tapply(..count.., ..x.., sum)[..x..]) > threshold,                       scales::percent(..count../tapply(..count.., ..x.., sum)[..x..]), "")),    position = position_fill(vjust = 0.5),    stat = "count"  ) +  labs(title = "民族与宗教信仰的比例关系", x = "民族", y = "比例") +  theme_minimal() +  theme(axis.text.x = element_text(angle = 45, hjust = 1))


# 生成民族分布饼图ethnicity_pie <- data_subset %>%  count(Ethnicity) %>%  mutate(percentage = n / sum(n)) %>%  ggplot(aes(x = "", y = percentage, fill = Ethnicity)) +  geom_bar(stat = "identity", width = 1) +  coord_polar(theta = "y") +  geom_text(aes(label = ifelse(percentage > threshold, scales::percent(percentage), "")),             position = position_stack(vjust = 0.5)) +  labs(title = "民族分布饼图", x = "", y = "") +  theme_void()
print(ethnicity_pie)




# 生成宗教信仰分布饼图religion_pie <- data_subset %>%  count(Religion) %>%  mutate(percentage = n / sum(n)) %>%  ggplot(aes(x = "", y = percentage, fill = Religion)) +  geom_bar(stat = "identity", width = 1) +  coord_polar(theta = "y") +  geom_text(aes(label = ifelse(percentage > threshold, scales::percent(percentage), "")),             position = position_stack(vjust = 0.5)) +  labs(title = "宗教信仰分布饼图", x = "", y = "") +  theme_void()
print(religion_pie)




# Logistic回归 - 不信仰宗教data_subset$NoReligion <- ifelse(data_subset$Religion == "不信仰宗教", 1, 0)logistic_model_no_religion <- glm(NoReligion ~ Ethnicity, data = data_subset, family = binomial)summary(logistic_model_no_religion)## ## Call:## glm(formula = NoReligion ~ Ethnicity, family = binomial, data = data_subset)## ## Coefficients:##               Estimate Std. Error z value Pr(>|z|)    ## (Intercept)     2.7583     0.0486   56.74   <2e-16 ***## Ethnicity蒙    -1.4366     0.5648   -2.54    0.011 *  ## Ethnicity满     0.9553     1.0133    0.94    0.346    ## Ethnicity回    -4.3037     0.2102  -20.47   <2e-16 ***## Ethnicity藏    -1.1489     1.0965   -1.05    0.295    ## Ethnicity壮     2.1975     1.0046    2.19    0.029 *  ## Ethnicity其他  -0.3160     0.2505   -1.26    0.207    ## ---## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## (Dispersion parameter for binomial family taken to be 1)## ##     Null deviance: 4340.5  on 8147  degrees of freedom## Residual deviance: 3735.6  on 8141  degrees of freedom## AIC: 3750## ## Number of Fisher Scoring iterations: 7# Logistic回归 - 佛教data_subset$Buddhism <- ifelse(data_subset$Religion == "佛教", 1, 0)logistic_model_buddhism <- glm(Buddhism ~ Ethnicity, data = data_subset, family = binomial)summary(logistic_model_buddhism)## ## Call:## glm(formula = Buddhism ~ Ethnicity, family = binomial, data = data_subset)## ## Coefficients:##               Estimate Std. Error z value Pr(>|z|)    ## (Intercept)    -3.3136     0.0625  -52.99  < 2e-16 ***## Ethnicity蒙     1.9918     0.5662    3.52  0.00043 ***## Ethnicity满   -14.2525   610.4519   -0.02  0.98137    ## Ethnicity回   -14.2525   307.9882   -0.05  0.96309    ## Ethnicity藏     1.7041     1.0972    1.55  0.12039    ## Ethnicity壮    -1.6423     1.0055   -1.63  0.10240    ## Ethnicity其他   0.6008     0.2830    2.12  0.03375 *  ## ---## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## (Dispersion parameter for binomial family taken to be 1)## ##     Null deviance: 2471.1  on 8147  degrees of freedom## Residual deviance: 2437.5  on 8141  degrees of freedom## AIC: 2451## ## Number of Fisher Scoring iterations: 16# Logistic回归 - 基督教data_subset$Christianity <- ifelse(data_subset$Religion == "基督教", 1, 0)logistic_model_christianity <- glm(Christianity ~ Ethnicity, data = data_subset, family = binomial)summary(logistic_model_christianity)## ## Call:## glm(formula = Christianity ~ Ethnicity, family = binomial, data = data_subset)## ## Coefficients:##                Estimate Std. Error z value Pr(>|z|)    ## (Intercept)     -4.1340     0.0924  -44.74   <2e-16 ***## Ethnicity蒙    -14.4320  1496.3959   -0.01     0.99    ## Ethnicity满    -14.4320  1006.4650   -0.01     0.99    ## Ethnicity回    -14.4320   507.7867   -0.03     0.98    ## Ethnicity藏    -14.4320  2662.8561   -0.01     1.00    ## Ethnicity壮    -14.4320   545.4504   -0.03     0.98    ## Ethnicity其他   -1.2776     1.0065   -1.27     0.20    ## ---## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## (Dispersion parameter for binomial family taken to be 1)## ##     Null deviance: 1250.6  on 8147  degrees of freedom## Residual deviance: 1236.6  on 8141  degrees of freedom## AIC: 1251## ## Number of Fisher Scoring iterations: 17# 提取回归系数并计算odds ratiocoefficients_no_religion <- exp(coef(logistic_model_no_religion))coefficients_buddhism <- exp(coef(logistic_model_buddhism))coefficients_christianity <- exp(coef(logistic_model_christianity))
confint_no_religion <- exp(confint(logistic_model_no_religion))confint_buddhism <- exp(confint(logistic_model_buddhism))confint_christianity <- exp(confint(logistic_model_christianity))
# 显示odds ratio及其置信区间odds_ratios_no_religion <- data.frame(  Estimate = coefficients_no_religion,  Lower_CI = confint_no_religion[, 1],  Upper_CI = confint_no_religion[, 2])odds_ratios_buddhism <- data.frame(  Estimate = coefficients_buddhism,  Lower_CI = confint_buddhism[, 1],  Upper_CI = confint_buddhism[, 2])odds_ratios_christianity <- data.frame(  Estimate = coefficients_christianity,  Lower_CI = confint_christianity[, 1],  Upper_CI = confint_christianity[, 2])
kable(odds_ratios_no_religion, caption = "Logistic回归中民族对不信仰宗教的影响 (odds ratio)")Logistic回归中民族对不信仰宗教的影响 (odds ratio)  Estimate  Lower_CI  Upper_CI(Intercept)  15.7733  14.3587  17.3737Ethnicity蒙  0.2377  0.0859  0.8366Ethnicity满  2.5993  0.5644  46.1560Ethnicity回  0.0135  0.0088  0.0201Ethnicity藏  0.3170  0.0510  6.0801Ethnicity壮  9.0025  2.0138  158.5606Ethnicity其他  0.7291  0.4591  1.2328kable(odds_ratios_buddhism, caption = "Logistic回归中民族对信仰佛教的影响 (odds ratio)")Logistic回归中民族对信仰佛教的影响 (odds ratio)  Estimate  Lower_CI  Upper_CI(Intercept)  0.0364  0.0321  4.100e-02Ethnicity蒙  7.3288  2.0783  2.035e+01Ethnicity满  0.0000  0.0000  2.948e+05Ethnicity回  0.0000  0.0000  0.000e+00Ethnicity藏  5.4966  0.2864  3.424e+01Ethnicity壮  0.1935  0.0110  8.675e-01Ethnicity其他  1.8235  1.0011  3.061e+00kable(odds_ratios_christianity, caption = "Logistic回归中民族对信仰基督教的影响 (odds ratio)")Logistic回归中民族对信仰基督教的影响 (odds ratio)  Estimate  Lower_CI  Upper_CI(Intercept)  0.0160  0.0133  1.910e-02Ethnicity蒙  0.0000  NA  1.897e+32Ethnicity满  0.0000  0.0000  8.465e+12Ethnicity回  0.0000  0.0000  8.488e+00Ethnicity藏  0.0000  NA  4.280e+104Ethnicity壮  0.0000  0.0000  2.901e+01Ethnicity其他  0.2787  0.0158  1.254e+00# 分析排名前三的宗教信仰内部的民族组成top_religions <- c("不信仰宗教", "佛教", "基督教")
for (religion in top_religions) {  subset_data <- data_subset %>% filter(Religion == religion)    # 生成民族组成饼图  ethnicity_pie_religion <- subset_data %>%    count(Ethnicity) %>%    mutate(percentage = n / sum(n)) %>%    ggplot(aes(x = "", y = percentage, fill = Ethnicity)) +    geom_bar(stat = "identity", width = 1) +    coord_polar(theta = "y") +    geom_text(aes(label = ifelse(percentage > threshold, scales::percent(percentage), "")),              position = position_stack(vjust = 0.5)) +    labs(title = paste(religion, "的民族组成分布"), x = "", y = "") +    theme_void()    print(ethnicity_pie_religion)}  


# 分析排名前三的民族的宗教信仰top_ethnicities <- c("汉", "回", "壮")
for (ethnicity in top_ethnicities) {  subset_data <- data_subset %>% filter(Ethnicity == ethnicity)    # 生成宗教信仰分布饼图  religion_pie_ethnicity <- subset_data %>%    count(Religion) %>%    mutate(percentage = n / sum(n)) %>%    ggplot(aes(x = "", y = percentage, fill = Religion)) +    geom_bar(stat = "identity", width = 1) +    coord_polar(theta = "y") +    geom_text(aes(label = ifelse(percentage > threshold, scales::percent(percentage), "")),              position = position_stack(vjust = 0.5)) +    labs(title = paste(ethnicity, "族的宗教信仰分布"), x = "", y = "") +    theme_void()    print(religion_pie_ethnicity)}


05

小结

在对CGSS 2021年数据的分析中,我们发现民族和宗教信仰之间存在显著的关联。具体来说,不同民族在宗教信仰的分布上有明显差异。汉族主要信仰佛教、道教和民间信仰,而回族主要信仰伊斯兰教。通过卡方检验,我们验证了这种关联的显著性。此外,通过Logistic回归分析,我们进一步探讨了不同民族对不信仰宗教、佛教和基督教的影响,得出了不同民族对这些宗教信仰的影响程度。

这些发现有助于我们更好地理解中国不同民族的宗教信仰状况,为相关政策制定提供参考。例如,在宗教管理和民族政策制定过程中,可以考虑到不同民族在宗教信仰上的差异,以促进社会的和谐与稳定。

本研究仍存在一些局限性,如样本代表性问题和变量选择的限制。由于CGSS数据的覆盖面有限,我们的结论可能不能完全代表整个中国社会的情况。此外,本研究仅考虑了民族和宗教信仰两个变量,未来的研究可以加入更多的社会经济和文化变量,以获得更全面的理解。

未来的研究方向可以包括:1) 对不同地区的民族和宗教信仰进行更细致的分析,以发现区域差异;2) 探讨民族和宗教信仰与其他社会经济变量之间的关系,如收入、教育和职业等;3) 使用更多的时间序列数据,分析民族和宗教信仰的动态变化趋势。

06

标题级别 2

参考文献


  1.   牟钟鉴 (2013). 宗教在民族问题中的地位和作用. 中国宗教学术网.



抽样调查之家
分享抽样调查最新技术和相关文献,普及抽样调查在人工智能时代的重要性,分享抽样技术在不同领域的应用,助力抽样调查在政府、企业决策中的作用。
 最新文章