0

有一个很好的例子,说明如何使用 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
> 

什么不见​​了?

谢谢,马特

4

1 回答 1

2

我认为你需要写dplyr::mutate,而不是mutate

我假设您已加载plyrdplyr在同一会话中。 dplyr并且plyr与以下对象发生冲突: arrange, count, desc, failwith, id, mutate, rename, summarise, summarize

于 2015-06-21T08:09:11.347 回答