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

如何提取tidyrss嵌套tibble指定字段并整理,忽略非tibble元素

使用tidyverse处理tidyrss嵌套tibble提取指定字段

解决方案

直接用purrr系列函数过滤无效元素,再提取目标字段展平:

假设你的数据框名为rss_df,存储嵌套内容的列是feed_data(替换成你实际的列名),代码如下:

library(tidyverse)

cleaned_rss <- rss_df %>%
  # 过滤掉列表元素不是tibble的行
  filter(map_lgl(feed_data, is_tibble)) %>%
  # 对每个tibble提取需要的四个字段
  mutate(extracted_items = map(feed_data, select, item_title, item_link, item_description, item_pub_date)) %>%
  # 展平嵌套数据成规范表格
  unnest(extracted_items)

关键步骤说明

  • map_lgl(feed_data, is_tibble):遍历列表列的每个元素,判断是否为tibble,返回逻辑向量用于过滤,直接排除函数类无效元素。
  • map(feed_data, select, ...):对每个合法的tibble,仅保留指定的四个字段,避免多余数据干扰。
  • unnest(extracted_items):将嵌套的tibble展开成一行一条内容的标准表格结构。

如果你的数据有更深层次的嵌套,比如tibble里还有子列表,可以在map里添加unnest()处理,示例:

mutate(extracted_items = map(feed_data, ~ .x %>% unnest() %>% select(item_title, item_link, item_description, item_pub_date)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 21:05:22