Как я могу найти строки и столбцы для определенного c заданного значения в матрице? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть данные по очкам и играм для 10 игроков в НБА.

Я хотел выяснить, у кого больше очков за игру в баскетболе с 2005 по 2014 год, и написал следующий код:

Чтобы найти PPG для каждого игрока, я написал следующее:

Points
P<-round(Points/Games,2)
P

Чтобы найти самый высокий PPG,

M<-max(P,na.rm=T)

и получил результат 35,4

Теперь я знаю, что это Коби Брайант, просто взглянув на матрицу. Но как написать код, чтобы получить строку и столбец для этого элемента?

Источник данных: Superdatascience

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Добро пожаловать в Stack Overflow. В следующий раз попробуйте включить образцы данных. Это помогает нам помочь вам. Это решение с использованием пакета dplyr. Это часть tidyverse диалекта R. Если вы только изучаете R, установите пакет пакетов Tidyverse. Это будет ваш лучший друг.

data <- data.frame(points = c(10, 12, 12, 4), 
                   games = c(2, 3, 2, 1), 
                   dude = c("a", "b", "c", "d"))

library(dplyr) 
theDude <- data %>%  #start with the data above and pipe it to the next line
    mutate(pointsPerGame = points/games) %>%   # create the average variable and pipe to next line
    filter(pointsPerGame == max(pointsPerGame)) %>%  # keep only the record(s) with the largest average and pipe to the next line
    select(dude) # keep the person's name

Если это поможет, нажмите зеленую галочку, чтобы указать, что вы настроены. Если нет, попросите разъяснений по поводу непонятного.

0 голосов
/ 06 августа 2020

Может быть, вы можете попробовать which с опцией arr.ind = TRUE

which(P == max(P),arr.ind = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...