如何在R Studio中提取tidyverse的starwars数据集films变量全部内容
R starwars数据集列表型字段films提取方法
无需拆分合并操作的入门方案
你现有代码的基础上,搭配pull()和unlist()两个简单函数即可实现单角色参演影片的查询,完整代码如下:
library(tidyverse) # 1. 筛选指定角色的行,示例为查询卢克·天行者 filter(starwars, name == "Luke Skywalker") %>% # 2. 提取films列的列表内容 pull(films) %>% # 3. 将列表转为普通字符向量,直接输出所有影片名称 unlist()
运行代码后会直接打印该角色参演的所有电影名,不需要用到你还未学习的拆分、合并类操作。
进阶批量处理方案
后续你学习了列表列拆分操作后,可以使用unnest()函数(对应你提到的explode操作的R实现),将films列的每个元素拆分为单独行,和原表的姓名、种族信息一一对应,代码如下:
library(tidyverse) starwars %>% select(name, species, films) %>% unnest(films)
内容的提问来源于stack exchange,提问作者Lisa Huckins
相关产品推荐
相关产品推荐

