【问题标题】:Linking characters from one data.frame to other datasets将字符从一个 data.frame 链接到其他数据集
【发布时间】:2013-07-01 16:35:14
【问题描述】:

我有一个包含两列的 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 的时间序列有关,而“休息”与 10:30 的时间序列有关,依此类推。

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

【问题讨论】:

  • 请提供可用的(R 代码)完整的可重现示例,以及您期望的解决方案的预期输出。
  • 试试this

标签: r


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-04-04
    • 2012-07-23
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多