Inf*_*ngi 2 r time-series data.table dummy-variable
我在R中设计一个神经网络.为此,我必须准备我的数据并导入一个表.
例如:
time hour Money day
1: 20000616 1 9.35 5
2: 20000616 2 6.22 5
3: 20000616 3 10.65 5
4: 20000616 4 11.42 5
5: 20000616 5 10.12 5
6: 20000616 6 7.32 5
Run Code Online (Sandbox Code Playgroud)
现在我需要一个虚拟化.我的决赛桌应该是这样的:
time Money day 1 2 3 4 5 6
1: 20000616 9.35 5 1 0 0 0 0 0
2: 20000616 6.22 5 0 1 0 0 0 0
3: 20000616 10.65 5 0 0 1 0 0 0
4: 20000616 11.42 5 0 0 0 1 0 0
5: 20000616 10.12 5 0 0 0 0 1 0
6: 20000616 7.32 5 0 0 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法/智能方法将我的表格转换为新的布局?或者以编程方式在R?我需要在R中执行此操作,而不是在导入之前.
提前致谢
一个可能的解决方案data.table(你正在使用):
dt[dcast(dt, hour ~ hour, value.var = 'hour', fun = length), on = .(hour)]
Run Code Online (Sandbox Code Playgroud)
这使:
Run Code Online (Sandbox Code Playgroud)time hour Money day 1 2 3 4 5 6 1: 20000616 1 9.35 5 1 0 0 0 0 0 2: 20000616 2 6.22 5 0 1 0 0 0 0 3: 20000616 3 10.65 5 0 0 1 0 0 0 4: 20000616 4 11.42 5 0 0 0 1 0 0 5: 20000616 5 10.12 5 0 0 0 0 1 0 6: 20000616 6 7.32 5 0 0 0 0 0 1
我想,你的真实数据集,你将有更多变化time的和day的,你也可以适应的代码:
dt[dcast(dt, time + day + hour ~ hour, value.var = 'hour', fun = length)
, on = .(time, day, hour)]
Run Code Online (Sandbox Code Playgroud)
使用数据:
dt <- fread(' time hour Money day
20000616 1 9.35 5
20000616 2 6.22 5
20000616 3 10.65 5
20000616 4 11.42 5
20000616 5 10.12 5
20000616 6 7.32 5')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |