Масштаб для тепловой карты NBA: dplyr эквивалент функции plyr?

Вот замечательный пример того, как использовать ggplot2 для создания тепловой карты 'R; way: Rheatmap, который предоставляет ссылку на необработанные данные и исходный код.

Было продолжение с использованием ggplot2: ggplot2, который выкладывает код ggplot2.

В ключевых точках код ggplot2 использует reshape2 и plyr.

nba.m <- melt(nba)
nba.m <- ddply(nba.m, .(variable), transform,rescale = rescale(value))

Моя цель - продублировать эти вычисления, используя tidyr и d plyr.

 nba.m <- melt(nba)

имеет тидирный эквивалент в:

 nba.g <- gather(nba, Name) 

Что такое dplyr эквивалент этой строки?

nba.m <- ddply(nba.m, .(variable), transform,rescale = rescale(value))

любезно предложено eipi10

nba.m2 <- nba.m %>%group_by(Name) %>% mutate(rescale=rescale(value))

Однако, похоже, что вычисление масштабирования происходит не совсем так:

> head(nba.m)
        Name variable value   rescale
1   Dwyane Wade         G    79 0.9473684
2  LeBron James         G    81 0.9824561
3   Kobe Bryant         G    82 1.0000000
4 Dirk Nowitzki         G    81 0.9824561
5 Danny Granger         G    67 0.7368421
6  Kevin Durant         G    74 0.8596491
> head(nba.m2)
Source: local data frame [6 x 4]
Groups: Name

        Name Name.1 value   rescale
1   Dwyane Wade       G    79 0.9634146
2  LeBron James       G    81 0.9878049
3   Kobe Bryant       G    82 1.0000000
4 Dirk Nowitzki       G    81 0.9878049
5 Danny Granger       G    67 0.8170732
6  Kevin Durant       G    74 0.9024390
> 

Чего не хватает?

Спасибо Мэтт

1 ответ

Я думаю тебе нужно написать dplyr::mutateне mutate,

Я полагаю, вы загружены plyr а также dplyr в том же сеансе.dplyr а также plyr В конфликте находятся следующие объекты:arrange, count, desc, failwith, id, mutate, rename, summarise, summarize

Другие вопросы по тегам