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

如何从存储数据框行的列表中提取行号并写入vector

从存储DataFrame行的列表中提取行号生成向量

我有一个由单个行DataFrame组成的列表,定义如下:

kl <- list(structure(list(GROUP = "1", col6 = NA_character_, col7 = NA_character_, 
    dif = NA_character_, p.value = NA_character_), row.names = 1L, class = "data.frame"), 
    structure(list(GROUP = "2", col6 = NA_character_, col7 = NA_character_, 
        dif = NA_character_, p.value = NA_character_), row.names = 3L, class = "data.frame"), 
    structure(list(GROUP = "3", col6 = NA_character_, col7 = NA_character_, 
        dif = NA_character_, p.value = NA_character_), row.names = 5L, class = "data.frame"), 
    structure(list(GROUP = "4", col6 = NA_character_, col7 = NA_character_, 
        dif = NA_character_, p.value = NA_character_), row.names = 7L, class = "data.frame"))

需要提取每个DataFrame的行号,生成包含1,3,5,7的整数向量。

实现方案

基础R方法

利用sapply遍历列表,提取每个元素的行名并转换为整数:

kl.vec <- sapply(kl, function(df) as.integer(row.names(df)))

tidyverse方法(使用purrr)

如果使用tidyverse工具集,map_int可以更直观地完成整数向量的生成:

library(purrr)
kl.vec <- map_int(kl, ~ as.integer(row.names(.x)))

两种方法执行后,kl.vec都会得到c(1, 3, 5, 7)的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:35:26