首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >重新调整NBA热图: dplyr等同于plyr函数?

重新调整NBA热图: dplyr等同于plyr函数?
EN

Stack Overflow用户
提问于 2015-05-29 16:05:19
回答 1查看 462关注 0票数 0

这里有一个很好的例子,展示了如何使用ggplot2创建一个热图'R;方法:Rheatmap,它提供了一个指向原始数据和源代码的链接。

还有一个使用ggplot2:ggplot2的后续文章,它列出了ggplot2代码。

在关键点,ggplot2代码使用reshape2和plyr。

代码语言:javascript
运行
AI代码解释
复制
nba.m <- melt(nba)
nba.m <- ddply(nba.m, .(variable), transform,rescale = rescale(value))

我的目标是使用tidyr和dplyr复制这些计算。

代码语言:javascript
运行
AI代码解释
复制
 nba.m <- melt(nba)

中有一个tidyr等效项:

代码语言:javascript
运行
AI代码解释
复制
 nba.g <- gather(nba, Name) 

这一行的dplyr是什么?

代码语言:javascript
运行
AI代码解释
复制
nba.m <- ddply(nba.m, .(variable), transform,rescale = rescale(value))

eipi10亲切地建议

代码语言:javascript
运行
AI代码解释
复制
nba.m2 <- nba.m %>%group_by(Name) %>% mutate(rescale=rescale(value))

但是,看起来重缩放计算并不是以完全相同的方式进行的:

代码语言:javascript
运行
AI代码解释
复制
> 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
> 

遗漏了什么?

谢谢,马特

EN

回答 1

Stack Overflow用户

发布于 2015-06-21 08:09:11

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

我假设您在同一个会话中加载了plyrdplyrdplyrplyr与以下对象冲突:arrange, count, desc, failwith, id, mutate, rename, summarise, summarize

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30534151

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文