ggplot2 を使用してヒート マップ 'R; を作成する方法のこの素晴らしい例があります。方法:生データとソース コードへのリンクを提供するRheatmap 。
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))
ただし、再スケーリングの計算はまったく同じ方法で行われていないようです。
> 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
>
何が欠けている?
ありがとう、マット