我有一个海量数据集(超过100个变量的200万行,以下是小样本)。对于每个
输出只需要三列DataFrame即可,但这不是必须的。我将稍后需要使用时间戳列进行分析。
我找到了这个问题: 从数据框中提取变量的第一个出现的行,但是为了生命,在我的例子中我无法让它起作用。
下面是一些示例数据:
这只是我处理的一个非常小的示例。对于每个
以下是我想要的一个示例。
subj_trial
组,我想找到在message
中包含".wav"的每个唯一变量的第一次出现。它应该只包含而不是结束(i.e. *.wav),因为有些行在message
字段中有一堆信息(在示例中未显示,抱歉)。输出只需要三列DataFrame即可,但这不是必须的。我将稍后需要使用时间戳列进行分析。
我找到了这个问题: 从数据框中提取变量的第一个出现的行,但是为了生命,在我的例子中我无法让它起作用。
下面是一些示例数据:
subj_trial message timestamp
1 1_1 message 459 755616
2 1_1 . 755618
3 1_1 test1.wav 755662
4 1_1 . 765712
5 1_1 test1.wav 767918
6 1_2 . 769342
7 1_2 test2.wav 775662
8 1_2 . 786412
9 1_2 test2.wav 797460
10 1_2 . 807626
11 1_3 test3.wav 817794
12 1_3 warning 11 827960
13 2_1 message 481 817313
14 2_1 test1.wav 817347
15 2_1 . 834959
16 2_1 test1.wav 855007
17 2_1 . 880107
18 2_2 . 895723
19 2_2 test2.wav 922671
20 2_2 . 958003
21 2_2 test2.wav 994385
22 2_3 . 1016217
23 2_3 test3.wav 1036899
24 2_3 . 1047331
25 2_3 test3.wav 1142527
这只是我处理的一个非常小的示例。对于每个
subj_trial
组,可能有3000行以上,而且有超过700个组。以下是我想要的一个示例。
subj_trial message timestamp
1 1_1 test1.wav 755662
2 1_2 test2.wav 775662
3 1_3 test3.wav 817794
4 2_1 test1.wav 817347
5 2_2 test2.wav 922671
6 2_3 test3.wav 1036899
我已经想出了如何通过这样做来获取整个数据集中 message
的唯一值:
unique_message <- df[match(unique(df$message), df$message),]
但是我不知道如何按组进行操作。我也尝试使用dplyr
包中的group_by
,但是也无法使其正常工作。请朋友们给予帮助并指引正确的方向。谢谢!
message
字段大多数都是“.”,而且只有一个.wav值的实例。我提供的示例是很好的一个。 - Elizabeth Crutchley