如何使用 melt 命名每个变量
How to name each variable using melt
我有一个矩阵,我想使用 reshape2
中的 melt
函数在 ggplo2
中进行绘图,但找不到添加自定义 header 名称的方法.
#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")
这让我得到了我想要的,但随后的操作必须参考 Var1
和 Var2
。
我尝试使用 variable.name
:
明确命名它们
MyData2 <- melt(MyData, value.name = "Count",
variable.name = c("AgeGroup", "Geo"))
我当然可以使用 colnames()
为它们命名,但我想使用 melt
来命名。这可能吗?我需要备份吗?[=20=]
使用varnames
参数:
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
是一个矩阵(所以使用 melt.array
而使用 varnames
)而不是数据帧(melt.data.frame
使用 variable.name
)。 ?melt.array
.
我有一个矩阵,我想使用 reshape2
中的 melt
函数在 ggplo2
中进行绘图,但找不到添加自定义 header 名称的方法.
#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")
这让我得到了我想要的,但随后的操作必须参考 Var1
和 Var2
。
我尝试使用 variable.name
:
MyData2 <- melt(MyData, value.name = "Count",
variable.name = c("AgeGroup", "Geo"))
我当然可以使用 colnames()
为它们命名,但我想使用 melt
来命名。这可能吗?我需要备份吗?[=20=]
使用varnames
参数:
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
是一个矩阵(所以使用 melt.array
而使用 varnames
)而不是数据帧(melt.data.frame
使用 variable.name
)。 ?melt.array
.