You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何识别语言同质家庭?基于R DataFrame的统计需求

统计语言同质/异质家庭数量(R语言实现)

核心思路

以Number作为家庭唯一标识,按家庭分组后统计每个家庭中DAILY_LANG的唯一值数量,再根据数量分类统计仅用一种语言(同质)和使用两种语言的家庭数。

基础版代码实现

library(dplyr)

# 按家庭分组,计算每个家庭的语言类型数量
family_lang_summary <- df %>%
  group_by(Number) %>%
  summarise(unique_lang_count = n_distinct(DAILY_LANG)) %>%
  ungroup()

# 统计两类家庭的数量
single_lang_count <- sum(family_lang_summary$unique_lang_count == 1)
two_lang_count <- sum(family_lang_summary$unique_lang_count == 2)

# 输出结果
cat("仅使用一种语言的家庭数:", single_lang_count, "\n")
cat("使用两种语言的家庭数:", two_lang_count, "\n")

基础版运行结果

仅使用一种语言的家庭有4个(编号33、1、62、69),使用两种语言的家庭有2个(编号31、36)。家庭30包含3种语言类型(1、0、11),不在本次统计的两类范围内。

可选:过滤无效值(若0为未填写项)

如果DAILY_LANG中的0代表无效回答,可先过滤再统计:

family_lang_summary_filtered <- df %>%
  filter(DAILY_LANG != 0) %>%
  group_by(Number) %>%
  summarise(unique_lang_count = n_distinct(DAILY_LANG)) %>%
  ungroup()

single_lang_count_filtered <- sum(family_lang_summary_filtered$unique_lang_count == 1)
two_lang_count_filtered <- sum(family_lang_summary_filtered$unique_lang_count == 2)

cat("过滤0值后,仅使用一种语言的家庭数:", single_lang_count_filtered, "\n")
cat("过滤0值后,使用两种语言的家庭数:", two_lang_count_filtered, "\n")

过滤后结果

过滤0值后,仅使用一种语言的家庭有5个(编号33、1、62、69、36),使用两种语言的家庭有2个(编号30、31)。

内容的提问来源于stack exchange,提问作者Kian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:22:49