Масштаб для тепловой карты 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