将字符从一个data.frame链接到其他数据集

时间:2013-07-01 16:35:14

标签: r

我有一个包含两列的data.frame。第一列包含一天中的各种特定时间。第二列包含我在每个特定时间观察到的动物行为(行为期):

Time; Behavior

10:20; feeding

10:25; feeding

10:30; resting
...

对于每个行为时期,我都有一个额外的数据集(TimeSeries),其中包含有关实际动物运动的数据(来自运动传感器的输出)。每个TimeSeries大约有100行:

Time; Var1; Var2

10:20:01; 1345; 5232

10:20:02; 1423; 5271

...

现在我想将每个TimeSeries与第一个数据集中的行为相关联。因此,R知道“喂食”与10:20和10:25的TimeSeries有关,而“休息”与10:30的TimeSeries有关,依此类推。

之后我想用这个“知识”来计算每个TimeSeries的均值和sd。因此,对于每种行为,我将拥有所有TimeSeries的所有手段和sd。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您的时间当前是字符,因子,POSIXct,变量等。因此,您应首先将它们(可能在新列中)转换为数字变量,例如自午夜以来的秒数。 strptimedifftimeas.numeric等功能可能有所帮助。

将列添加到仅1:nrow(firstdf)的第一个数据框。然后将一列添加到由findInterval函数计算的第二个数据帧:

seconddf$newcol <- findInterval( seconddf$seconds, firstdf$seconds )

现在,您可以合并新列上的2个数据框,并且更细粒度的时间将与最近一次的活动相关联。