【发布时间】:2021-03-16 21:47:02
【问题描述】:
我正在尝试定义一个新变量 word_duration,计算方法是从每个 的最后一个 end_time 中减去第一个 start_time每个唯一的单词的音节。
这是一个最小的示例,以及我希望数据框如何与新的 word_duration 列一起显示:
df <- data.frame("word" = c("each", "each", "unique", "unique", "word", "unique", "unique"),
"syllable" = c("ea", "ch", "u", "nique", "word", "u", "nique"),
"start_time" = c(41.48, 42.95, 43.49, 43.95, 44.07, 44.12, 44.19),
"end_time" = c(42.95, 43.49, 43.95, 44.07, 44.12, 44.19, 44.23))
word syllable start_time end_time word_duration
1 each ea 41.48 42.95 2.01
2 each ch 42.95 43.49 2.01
3 unique u 43.49 43.95 0.58
4 unique nique 43.95 44.07 0.58
5 word word 44.07 44.12 0.05
6 unique u 44.12 44.19 0.11
7 unique nique 44.19 44.23 0.11
如何定义新变量的示例:
- 例如单词“唯一”在数据框中出现了两次,并且有两个音节
- 第一个“unique”的第一个音节从 43.49 秒开始,“unique”的第二个音节在 44.07 秒结束
- 所以 word“唯一”的 word_duration 是 44.07-43.49 = 0.58 秒
所以,单个 word_duration 应该是 2.01、0.58、0.05、0.11,但恐怕我需要一些 for 循环或其他东西来定义 word_duration。每个单词在数据框中多次出现的事实也很复杂,因此需要逐行计算。有什么建议么?感谢您的帮助!
【问题讨论】: