R语言melt函数怎么用
时间: 2023-11-24 08:00:15 浏览: 40
`melt`函数是`reshape2`包中的一个函数,用于将数据从宽格式转换为长格式。其语法如下:
```
melt(data, id.vars, measure.vars, variable.name, value.name)
```
其中,参数说明如下:
- `data`: 需要转换的数据框。
- `id.vars`: 转换后的数据框中保留不变的变量名。
- `measure.vars`: 需要转换的变量名。
- `variable.name`: 转换后的变量名列的名称。
- `value.name`: 转换后的值列的名称。
下面是一个简单的示例:
```r
library(reshape2)
# 创建数据框
df <- data.frame(id = c(1, 2, 3),
A = c(2, 4, 3),
B = c(3, 6, 9),
C = c(1, 5, 7))
# 使用melt函数转换为长格式
df_long <- melt(df, id.vars = "id", measure.vars = c("A", "B", "C"),
variable.name = "variable", value.name = "value")
# 输出结果
df_long
```
输出结果如下:
```
id variable value
1 1 A 2
2 2 A 4
3 3 A 3
4 1 B 3
5 2 B 6
6 3 B 9
7 1 C 1
8 2 C 5
9 3 C 7
```
可以发现,原始数据框中的变量`A`、`B`、`C`被转换为了新的变量`variable`列中的值,而原始数据框中的值则被转换为了新的`value`列中的值,并且保留了`id`列不变。