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

如何保留DataFrame顶部行并筛选基于列n的前10高频行?

两个R语言数据处理需求的实现方案

先确认你提供的示例数据处理后的结构:运行频率统计代码后,df会是按stock、newspaper、status分组后的结果,包含计数列n。下面针对两个需求给出具体实现:

1. 保留DataFrame的顶部行

如果想快速查看或保留DataFrame的前N行,有两种常用方式:

基础R方法:head()函数

直接调用head(),默认返回前6行,也可指定行数:

# 保留前6行(默认行为)
top_rows <- head(df)

# 保留指定行数,比如前3行
top_rows <- head(df, n = 3)

dplyr方法:slice_head()

如果用tidyverse生态,推荐用slice_head()配合管道操作:

library(dplyr)
# 保留前5行
top_rows <- df %>% slice_head(n = 5)

2. 筛选基于列n的前10个高频行

需要先按n降序排列,再取前10行,用dplyr的组合操作最便捷:

library(dplyr)
# 按n降序排序,取前10个高频行
top_10_high_freq <- df %>% 
  arrange(desc(n)) %>% 
  slice_head(n = 10)

如果你的dplyr版本较旧,也可以用top_n()函数(不过新版本更推荐上面的写法):

# 旧版写法,取前10个高频行
top_10_high_freq <- df %>% top_n(n = 10, wt = n)

注意:如果有多个行的n值相同且刚好排在第10位,slice_head(n=10)只会取到第10行,而top_n()会包含所有n值等于第10位的行,可根据需求选择。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:10:16