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

R语言如何用head函数直接输出两个不相邻列的前若干行数据

R提取数据框指定不相邻列前N行的正确方法

核心实现(无需提前做子集化处理)

基础R语法

直接把需要提取的列号放在拼接函数c()中传入列索引位即可,以下示例提取前20行数据:

# 完整写法,明确标注行、列索引位
head(tu_timeadd[, c(76, 82)], n = 20)

# 简化写法:单索引默认对列做选择,可省略逗号
head(tu_timeadd[c(76, 82)], n = 20)

Tidyverse语法

如果习惯使用dplyr的链式操作,也可以用以下写法实现:

library(dplyr)
tu_timeadd |> 
  select(76, 82) |> 
  head(n = 20)

原有写法出错原因说明

  • head(tu_timeadd[76&82]):&是逻辑运算符,数值76、82转换为逻辑值均为TRUE,TRUE & TRUE结果仍为TRUE,相当于索引传入了单个逻辑真,会返回全部列
  • head(tu_timeadd[76,82]):R数据框索引默认按[行, 列]规则匹配,该写法实际是提取第76行第82列的单个值,行列逻辑完全相反
  • head(tu_timeadd[76 |82]):|同样是逻辑运算符,运算后结果仍为TRUE,最终返回全部列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:06:04