重塑数据框,其中列名是初始数据框中的单个变量
Reshape data frame where column names are a single variable in initial data frame
关于我应该如何转置或重塑我的数据框的任何想法:
value L2
1 2008-09-01T07:00:00 timestamp
2 621.31 ht
3 0 X3
4 2008-09-02T07:00:00 timestamp
5 621.24 ht
6 0 X3
7 2008-09-03T07:00:00 timestamp
8 621.25 ht
9 0 X3
为此:
timestamp ht X3
1 2008-09-01T07:00:00 621.31 0
2 2008-09-02T07:00:00 621.24 0
3 2008-09-03T07:00:00 621.25 0
我正在尝试将第 2 列更改为列名并保持 timestamp
和 ht
记录成对。
*标题需要一些改进,如果有人有更好的主意,我很乐意尝试更改它。
基数 R 中的一个简单 unstack
就可以解决问题:
unstack(df)
ht timestamp X3
1 621.31 2008-09-01T07:00:00 0
2 621.24 2008-09-02T07:00:00 0
3 621.25 2008-09-03T07:00:00 0
此函数非常适合将两列 data.frame 转换为适当形状的宽 data.frame,其中一列是值,另一列为变量命名。
数据
df <- read.table(header=TRUE, text=" value L2
1 2008-09-01T07:00:00 timestamp
2 621.31 ht
3 0 X3
4 2008-09-02T07:00:00 timestamp
5 621.24 ht
6 0 X3
7 2008-09-03T07:00:00 timestamp
8 621.25 ht
9 0 X3")
关于我应该如何转置或重塑我的数据框的任何想法:
value L2
1 2008-09-01T07:00:00 timestamp
2 621.31 ht
3 0 X3
4 2008-09-02T07:00:00 timestamp
5 621.24 ht
6 0 X3
7 2008-09-03T07:00:00 timestamp
8 621.25 ht
9 0 X3
为此:
timestamp ht X3
1 2008-09-01T07:00:00 621.31 0
2 2008-09-02T07:00:00 621.24 0
3 2008-09-03T07:00:00 621.25 0
我正在尝试将第 2 列更改为列名并保持 timestamp
和 ht
记录成对。
*标题需要一些改进,如果有人有更好的主意,我很乐意尝试更改它。
基数 R 中的一个简单 unstack
就可以解决问题:
unstack(df)
ht timestamp X3
1 621.31 2008-09-01T07:00:00 0
2 621.24 2008-09-02T07:00:00 0
3 621.25 2008-09-03T07:00:00 0
此函数非常适合将两列 data.frame 转换为适当形状的宽 data.frame,其中一列是值,另一列为变量命名。
数据
df <- read.table(header=TRUE, text=" value L2
1 2008-09-01T07:00:00 timestamp
2 621.31 ht
3 0 X3
4 2008-09-02T07:00:00 timestamp
5 621.24 ht
6 0 X3
7 2008-09-03T07:00:00 timestamp
8 621.25 ht
9 0 X3")