如何直接访问Data Frame List中数据框的指定variable变量
R语言数据框列表指定变量访问方案
此前写法失效的核心原因是R列表的索引规则差异:
df_list[i]使用单中括号索引返回的是包含第i个元素的子列表,并非数据框对象,无法直接用$访问列。
可行写法如下:
- 单数据框指定列访问:
使用双中括号先提取目标数据框后访问,写法为:df_list[[i]]$variable
示例:提取列表第3个数据框的score列,可写为df_list[[3]]$score - 一步式索引写法:
可直接通过嵌套索引实现一步提取,写法为:df_list[[c(i, "variable")]] - 批量提取所有数据框的同名列:
用基础函数实现返回列表的写法为:lapply(df_list,[[, "variable")
若使用tidyverse生态的purrr包,写法为:purrr::map(df_list, "variable")
如需直接返回向量可根据列类型选择map_chr/map_dbl/map_int等对应函数即可。
内容的提问来源于stack exchange,提问作者Henrik
相关产品推荐
相关产品推荐

