如何把宽数据变为长数据 r语言
时间: 2023-09-03 10:03:43 浏览: 77
在R语言中,将宽数据转换为长数据可以使用melt()函数。下面是一个简单的示例:
假设我们有如下的宽数据集:
```r
df <- data.frame(ID = 1:5,
A = c(10, 15, 20, 25, 30),
B = c(1, 2, 3, 4, 5),
C = c(100, 200, 300, 400, 500))
```
该数据集有3个变量(A、B、C)和一个标识符(ID)。要将该宽数据集转换为长数据集,我们可以使用melt()函数:
```r
library(reshape2)
df_long <- melt(df, id.vars = "ID")
print(df_long)
```
运行上述代码后,我们将得到以下长数据集:
```
ID variable value
1 1 A 10
2 2 A 15
3 3 A 20
4 4 A 25
5 5 A 30
6 1 B 1
7 2 B 2
8 3 B 3
9 4 B 4
10 5 B 5
11 1 C 100
12 2 C 200
13 3 C 300
14 4 C 400
15 5 C 500
```
melt()函数将变量A、B、C转换为了一个新的变量“variable”,并将原始值储存在“value”列中。每一行都对应一个原始值,并带有原始数据的标识符ID。
总结起来,通过使用melt()函数,我们可以将宽数据转换为长数据,使得每个原始值都有一个单独的观测行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)