Fuction для выдачи первых пяти Colulus в R - PullRequest
1 голос
/ 01 мая 2020

Привет, я написал в R функцию, которая должна выдавать первых пяти разработчиков, которые сделали больше всего ввода.

developer.busy <- function(x){
  bus.dev <-  sort(table(test2$devf), decreasing = TRUE)
  return(bus.dev)
  }

 bus.dev(test2)

 ericb  shields     mdejong   cabbey   lord   elliott-oss   jikesadmin    coar 
 3224   1432         998       470      241   179            77           1 

На данный момент она просто распечатывает всех разработчиков, отсортированных в убывающем диапазоне. Я просто хочу, чтобы первые 5 были показаны. Как я могу сделать это возможным. Любое предложение приветствуется.

1 Ответ

2 голосов
/ 01 мая 2020

Если нам нужны первые пять, используйте индекс с [ или с head. Изменена функция с тремя входными данными, именем объекта данных, именем столбца ('colnm') и количеством извлекаемых элементов ('n')

developer.busy <- function(data, colnm, n){
     sort(table(data[[colnm]]), decreasing = TRUE)[seq_len(n)]
     # or another optioin is
     head(sort(table(data[[colnm]]), decreasing = TRUE), n)

 }

developer.busy(test2, "developerf", n = 5)

- с использованием воспроизводимого примера с mtcars набором данных

data(mtcars)
developer.busy(mtcars, 'carb', 5)
#  2  4  1  3  6 
#10 10  7  3  1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...