美文网首页
宽数据 & 长数据

宽数据 & 长数据

作者: LET149 | 来源:发表于2023-08-21 09:05 被阅读0次

1. 宽数据转换成长数据

https://www.jianshu.com/p/65d71b2f3f56

tidyr::gather()

gather(data=, key=, value=, -column)

data=: 用来转换的数据框
key=: 字符串; 转换后,被转换列名形成新列的列名
value=: 字符串; 转换后,之前所有值形成新列的列名
-column: 单个字符串或者字符串向量,表示不参与转换(保留)的列名

> kk <- iris[1:5,]
> kk
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
> 
> gather(kk, key="type", value="number", -"Species")   '#保留其中一列
   Species         type number
1   setosa Sepal.Length    5.1
2   setosa Sepal.Length    4.9
3   setosa Sepal.Length    4.7
4   setosa Sepal.Length    4.6
5   setosa Sepal.Length    5.0
6   setosa  Sepal.Width    3.5
7   setosa  Sepal.Width    3.0
8   setosa  Sepal.Width    3.2
9   setosa  Sepal.Width    3.1
10  setosa  Sepal.Width    3.6
11  setosa Petal.Length    1.4
12  setosa Petal.Length    1.4
13  setosa Petal.Length    1.3
14  setosa Petal.Length    1.5
15  setosa Petal.Length    1.4
16  setosa  Petal.Width    0.2
17  setosa  Petal.Width    0.2
18  setosa  Petal.Width    0.2
19  setosa  Petal.Width    0.2
20  setosa  Petal.Width    0.2
> 
> gather(kk, key="type", value="number", -c("Species","Petal.Length"))   #保留其中两列
   Petal.Length Species         type number
1           1.4  setosa Sepal.Length    5.1
2           1.4  setosa Sepal.Length    4.9
3           1.3  setosa Sepal.Length    4.7
4           1.5  setosa Sepal.Length    4.6
5           1.4  setosa Sepal.Length    5.0
6           1.4  setosa  Sepal.Width    3.5
7           1.4  setosa  Sepal.Width    3.0
8           1.3  setosa  Sepal.Width    3.2
9           1.5  setosa  Sepal.Width    3.1
10          1.4  setosa  Sepal.Width    3.6
11          1.4  setosa  Petal.Width    0.2
12          1.4  setosa  Petal.Width    0.2
13          1.3  setosa  Petal.Width    0.2
14          1.5  setosa  Petal.Width    0.2
15          1.4  setosa  Petal.Width    0.2

2. 长数据转换成宽数据

https://www.jianshu.com/p/65d71b2f3f56

tidyr::spread() 或者 tidyr::pivot_wider()

Note: 均出现严重报错

3. 将一列数据拆分成多列

seperate(data=, column_name, c("new_column_1","new_column_2")


相关文章

网友评论

      本文标题:宽数据 & 长数据

      本文链接:https://www.haomeiwen.com/subject/hsssmdtx.html