Это отличный пример того, как использовать ggplot2 для создания карты тепла «R; путь: Rheatmap, который предоставляет ссылку на исходные данные и исходный код.Rescale для NBA heatmap: dplyr эквивалентно функции plyr?
Был использован ggplot2: ggplot2, который выдает код ggplot2.
В ключевых точках код ggplot2 использует reshape2 и plyr.
nba.m <- melt(nba)
nba.m <- ddply(nba.m, .(variable), transform,rescale = rescale(value))
Моя цель состоит в дублировании этих расчетов с использованием tidyr и dplyr.
nba.m <- melt(nba)
имеет tidyr эквивалент в:
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))
Однако, похоже, расчет Rescale не встречающихс в совершенно таким же образом:
> 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
>
Что не хватает?
Спасибо, Matt
'nba.m = nba.m%>% group_by (переменный)%>% мутирует (перемасштабировать = перемасштабировать (значение))' – eipi10