R语言如何基于有序向量提取dataframe中对应位置的数值
R数据框按行位置提取指定元素的实现方案
你可以通过以下两种常用方式实现需求,两种方法输出的df_new都完全符合你给出的预期结果:
方法1:基础R语法实现
利用R原生数据框的索引规则,行位置写在方括号内逗号左侧,逗号右侧留空表示保留所有列,添加drop = FALSE避免单列数据被自动转为向量格式:
# 你的行位置向量 V <- c(1,4,5) # 提取对应行,保留数据框结构 df_new <- df[V, , drop = FALSE] # 如果你只需要id列的向量结果,不需要保留数据框结构,使用以下代码即可 selected_ids <- df$id[V]
方法2:dplyr包语法实现
如果你常用tidyverse生态的工具,可以使用slice()函数直接按行位置筛选,代码可读性更高:
# 加载dplyr包 library(dplyr) V <- c(1,4,5) df_new <- df %>% slice(V)
内容的提问来源于stack exchange,提问作者Economist_Ayahuasca
相关产品推荐
相关产品推荐

