Получение имени столбца в результате на вопрос о строке - PullRequest
0 голосов
/ 07 октября 2018

У меня есть набор данных с именем test

test

Мне нужно написать код для следующего q1.Что Джим делает больше всего, и ANS будет 10 пробежек q2 Каковы три наименьших действия, которые делает Майк, и Ответ на прогулку 6 пробежек 4 драйва 4 q3, кто путешествует дальше всего, и ответ будет Джим 40

1 Ответ

0 голосов
/ 07 октября 2018

Это даст вам представление о том, как поместить его в аккуратный формат, и начнете отвечать на вопросы.

library(tidyverse)

df <- data.frame(stringsAsFactors=FALSE,
name = c("paul", "john", "mike", "jim"),
walks = c(10L, 9L, 6L, 7L),
runs = c(6L, 5L, 4L, 10L),
cycles = c(2L, 5L, 8L, 9L),
drives = c(2L, 3L, 4L, 5L),
flys = c(2L, 6L, 8L, 9L)
)
df

df <- df %>% gather(key = transport, value = "freq", walks:flys)
df

df %>% filter(name == "jim") %>%
  group_by(transport) %>% 
  arrange(desc(freq))

, который дает вам таблицу вывода, например:

# A tibble: 5 x 3
# Groups:   transport [5]
  name  transport  freq
  <chr> <chr>     <int>
1 jim   runs         10
2 jim   cycles        9
3 jim   flys          9
4 jim   walks         7
5 jim   drives        5

который позволяет вам ответить на вопрос 1.

Обратите внимание, что gather() используется для создания данных в формате Tidy, например:

   name transport freq
1  paul     walks   10
2  john     walks    9
3  mike     walks    6
4   jim     walks    7
5  paul      runs    6

Это похоже на вашу домашнюю работу, так что, вероятно, лучшедля вас самим придумать все остальное, но это поможет вам на правильном пути.

Найдите нужные вам функции в dplyr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...