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")
网友评论