2015-05-29 15 views
0

有一個很好的例子,說明如何使用ggplot2創建一個熱圖「R;方式:Rheatmap它提供了一個鏈接到原始數據和源代碼。對NBA熱圖進行重新調整: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)) 

但是,它看起來像重新調整計算中以同樣的方式不存在的:

> 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 
> 

缺少什麼?

謝謝, 馬特

+2

'nba.m = nba.m%>%GROUP_BY(可變)%>%突變(重新定標=重新定標(值))' – eipi10

回答

2

我想你需要寫dplyr::mutate,不mutate

我推測你在同一個會話中加載了plyrdplyrdplyrplyr是衝突的下列對象: arrange, count, desc, failwith, id, mutate, rename, summarise, summarize