r - 尝试使用 R 过滤前 10 个条目?

标签 r

所以我有一个国家人均国民总收入和自杀人数的数据集,我正在尝试仅过滤国民总收入最高的前 10 个国家。我的问题是,在我的数据集中,我有重复的 GNI 国家条目,因为我还有每个国家/地区每个性别特定年龄组的自杀统计数据。

我尝试使用 Dplyr 中的 top_n 函数应用以下代码:

top_highest_gni <- df_filter_ages %>%   group_by(as.numeric(as.character(GNI.per.capita..PPP..current.international.....NY.GNP.PCAP.PP.CD.))) %>% 
      top_n(10)

但是,这根本不会影响我的数据集,也没有出现错误消息,我不知道为什么?对此的任何帮助将不胜感激!

数据如下所示:
Country   Year   Sex  GNI
Albania   2012   F    290000
Albania   2012   M    290000
UK        2012   F    2222222222
UK        2012   M    2222222222

编辑

按照建议,我添加了汇总功能并运行了以下代码:
df_filter_ages %>%
  group_by(country) %>% 
  summarise(max = max(as.numeric(as.character(GNI.per.capita..PPP..current.international.....NY.GNP.PCAP.PP.CD.)))) %>% 
  top_n(2)

输出为:
Selecting by max
     max
1 119330

所需输出:
Country   Year   Sex  GNI

UK        2012   F    2222222222
UK        2012   M    2222222222
Albania   2012   F    290000
Albania   2012   M    290000

最佳答案

尝试包括 summarise() group_by() 后的函数函数和之前 top_n()功能。

例子:

df <- data.frame(x = c(1, 2, 3), 
                 y = c(4, 5, 6), 
                 z = c(1, 20, 50))

df %>%
  group_by(x) %>% 
  summarise(max = max(z)) %>% 
  top_n(2)

#  A tibble: 2 x 2
#       x total
#   <dbl> <dbl>
# 1     2    20
# 2     3    50

关于r - 尝试使用 R 过滤前 10 个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785226/

相关文章:

r - 当 sd 参数包含向量时,R 中的 rnorm 返回什么?

r - 将同一个人的多个观察结果压缩到一行中,将倍数添加为新列

r - 按除组外的所有变量汇总变量

Rhtml : Warning: conversion failure on '<var>' in 'mbcsToSbcs' : dot substituted for <var>

r - 用空因子聚合但保留行

在 R 中读取以多个空格作为分隔符的文本文件

r - 使用 NMDS 图更改 R 中的轴

r - 将数据框子集放入列表中

重新制定 R log(Y+1)

r - 按第一个坐标对对进行排序