这里有一个很好的例子,展示了如何使用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
>
遗漏了什么?
谢谢,马特
发布于 2015-06-21 08:09:11
我认为你需要写dplyr::mutate
,而不是mutate
。
我假设您在同一个会话中加载了plyr
和dplyr
。dplyr
和plyr
与以下对象冲突:arrange, count, desc, failwith, id, mutate, rename, summarise, summarize
https://stackoverflow.com/questions/30534151
复制相似问题