首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用melt命名每个变量

如何使用melt命名每个变量
EN

Stack Overflow用户
提问于 2015-07-14 07:32:28
回答 1查看 19.6K关注 0票数 12

我有一个矩阵,我想使用reshape2中的melt函数在ggplo2中重新绘图,但找不到添加自定义标题名称的方法。

代码语言:javascript
复制
#Create toy data
MyData <- matrix(rnorm(15,500), nrow = 5, ncol = 3, dimnames = list(
    c("Unknown","0-4","4-9","10-14","15-19"),c("Area1","Area2","Area3")))

Dat2 <- melt(MyData, value.name = "Count")

#Reform data using melt, define Count as value name
MyData2 <- melt(MyData, value.name = "Count")

这就得到了我想要的结果,但是随后的操作必须引用Var1Var2

我尝试使用variable.name显式地命名它们

代码语言:javascript
复制
MyData2 <- melt(MyData, value.name = "Count",
    variable.name = c("AgeGroup", "Geo"))

当然,我可以使用colnames()根据实际情况来命名它们,但我希望使用melt来实现。这个是可能的吗?我需要备份吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-14 07:43:53

使用varnames参数:

代码语言:javascript
复制
melt(MyData, value.name = "Count", varnames=c('AgeGroup', 'Geo'))
   AgeGroup   Geo    Count
1   Unknown Area1 501.6685
2       0-4 Area1 499.2812
3       4-9 Area1 500.3892
4     10-14 Area1 498.6380
5     15-19 Area1 500.5904
6   Unknown Area2 499.4590
7       0-4 Area2 500.5464
8       4-9 Area2 500.5635
9     10-14 Area2 500.7211
10    15-19 Area2 500.8381
11  Unknown Area3 498.8154
12      0-4 Area3 499.1818
13      4-9 Area3 499.6678
14    10-14 Area3 499.3586
15    15-19 Area3 500.3962

您的MyData是一个矩阵(因此使用使用varnamesmelt.array ),而不是一个数据帧(melt.data.frame使用variable.name)。?melt.array

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

https://stackoverflow.com/questions/31395209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档