2015-05-29 14 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