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

在R中实现一行多观测拆分及苹果食用偏好关联分析

解决方案

1. 拆分一行多值为多行数据

先加载tidyverse工具包(包含数据处理常用的dplyr和tidyr),假设你的原始数据框为df,结构类似下面的模拟数据:

# 模拟原始数据(和你提供的示例结构匹配)
df <- tibble(
  id = c(1, 2, 3),
  喜欢苹果 = c("是", "否", "是"),
  食用方式 = c("直接吃,榨汁", "煮着吃", "直接吃,做成沙拉")
)

用separate_rows函数拆分多值列,同时保留id和喜好信息的对应关系:

library(tidyverse)

# 拆分食用方式列,生成多行数据
df_long <- df %>%
  separate_rows(食用方式, sep = ",") %>% # 按逗号拆分多值
  mutate(食用方式 = str_trim(食用方式)) # 清理拆分后可能存在的空格

拆分后的数据会自动按id和喜好信息对应每个食用方式,和你想要的效果一致。

2. 苹果喜好与食用方式的关联分析

交叉表统计(直观看分布)

先做频数交叉表,快速查看不同喜好人群的食用方式分布:

cross_table <- table(df_long$喜欢苹果, df_long$食用方式)
print(cross_table)

卡方检验(验证关联显著性)

如果需要从统计层面验证两者是否存在显著关联,用卡方检验:

chisq_result <- chisq.test(cross_table)
print(chisq_result)

若输出的p值小于0.05,说明苹果喜好和食用方式存在显著关联。

可视化展示(更直观的对比)

用柱状图展示不同人群的食用方式分布差异:

ggplot(df_long, aes(x = 食用方式, fill = 喜欢苹果)) +
  geom_bar(position = "dodge") +
  labs(title = "不同苹果喜好人群的食用方式分布", x = "食用方式", y = "人数") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:10:33