根据变量的值在数据框中创建列

时间:2015-11-12 14:03:31

标签: r dataframe

我从mysql数据库获得了一个如下所示的数据框:

:

有没有办法将行合并为列?看起来像这样:

        value date   
sensor1   3   8:25
sensor2   5   8:25
sensor1   4   9:01
sensor2   8   9:01

原始数据如下所示:

date  sensor1  sensor2
8:25     3        5
9:01     4        8

我需要采取哪些步骤?喜欢把日期分成几分钟?

我试图使用:

    Sensor                   Value      Date
 1  iphone/uRn0CzNe/lighting  3         2015-10-21 08:25:09
 2  iphone/uRn0CzNe/lightS    0.360748  2015-10-21 08:25:11
 3  iphone/uRn0CzNe/lighting  3         2015-10-21 08:57:23
 4  iphone/uRn0CzNe/lightS    0.732653  2015-10-21 08:57:23
 5  iphone/uRn0CzNe/lighting  3         2015-10-21 11:32:00
 6  iphone/uRn0CzNe/lightS    0.943316  2015-10-21 11:32:00
 7  iphone/uRn0CzNe/lighting  3         2015-10-21 13:27:28
 8  iphone/uRn0CzNe/lightS    0.869136  2015-10-21 13:27:28
 9  iphone/uRn0CzNe/lighting  3         2015-10-21 13:56:10
10  iphone/uRn0CzNe/lightS    0.982124  2015-10-21 13:56:10

但是这导致了一个表格,其中许多日期不再显示:

    > data %>%
    +   group_by(Sensor) %>%
    +   spread(Date, Value) 

1 个答案:

答案 0 :(得分:1)

d <- read.table(header=TRUE, text=
's value date
sensor1   3   8:25
sensor2   5   8:25
sensor1   4   9:01
sensor2   8   9:01')
xtabs(value~date+s, data=d)