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

如何在R中可视化nycflights13关系数据集并获取公共变量?

nycflights13数据集相关需求解决方案

一、获取所有数据集的公共变量名

下面是一段简洁代码,可快速提取nycflights13包中所有数据集的公共变量:

library(nycflights13)

# 提取各数据集的变量名列表
var_lists <- lapply(ls("package:nycflights13"), function(x) names(get(x)))
# 计算所有列表的交集,即公共变量
common_variables <- Reduce(intersect, var_lists)

# 输出结果
common_variables

运行后会发现结果为空——nycflights13的五个数据集没有全量公共变量,只有两两之间的连接变量(比如carrier连接flights和airlines,faa连接airports和flights等)。

二、实现关系型数据集的关联可视化

要复刻《R for Data Science》中展示的数据集关联图,推荐使用dm包(专门用于关系型数据建模与可视化),步骤如下:

  1. 加载依赖包并构建数据模型,定义主键与外键关系
  2. 调用可视化函数生成关联图
library(nycflights13)
library(dm)

# 创建数据模型并定义关联关系
flights_model <- dm(airlines, airports, flights, planes, weather) %>%
  # 为每个数据集设置主键
  dm_add_pk(airlines, carrier) %>%
  dm_add_pk(airports, faa) %>%
  dm_add_pk(planes, tailnum) %>%
  dm_add_pk(weather, c(origin, time_hour)) %>%
  # 定义外键关联(连接不同数据集的变量)
  dm_add_fk(flights, carrier, airlines) %>%
  dm_add_fk(flights, origin, airports) %>%
  dm_add_fk(flights, dest, airports) %>%
  dm_add_fk(flights, tailnum, planes) %>%
  dm_add_fk(flights, c(origin, time_hour), weather)

# 生成关联可视化图
dm_draw(flights_model)

运行后会生成一张清晰的实体关系图,展示五个数据集之间通过哪些变量相互关联,和书中的可视化效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:30:40