如何解决有没有办法根据一列的条件提取行?
我希望提取第 4、11 行等的所有列。如果您查看我发布的数据,我希望提取紧接在“xsampa”列中的“A”之前的行值。例如,第 4 行的所有列(出现在第 5 行之前,在“xsampa”列中包含一个“A”)。我可以手动提取它们,但更好的方法肯定会为我节省一些劳力。
非常感谢您帮助我。
Filename Speaker Consonant tdiff xsampa
1 AK_baagge.TextGrid 1 Geminate 0.23165381 B
2 AK_baagge.TextGrid 1 Geminate 0.09607762 b
3 AK_baagge.TextGrid 1 Geminate 0.15799431 A:
4 AK_baagge.TextGrid 1 Geminate 0.08753738 g:
5 AK_baagge.TextGrid 1 Geminate 0.02668823 A
6 AK_baagge.TextGrid 1 Geminate 0.12917102 e:
7 AK_baagge.TextGrid 1 Geminate 0.87323879 E
8 AK_baagi.TextGrid 1 Singleton 0.22415281 B
9 AK_baagi.TextGrid 1 Singleton 0.11448148 b
10 AK_baagi.TextGrid 1 Singleton 0.15873483 A:
11 AK_baagi.TextGrid 1 Singleton 0.09716495 g
12 AK_baagi.TextGrid 1 Singleton 0.05387364 A
13 AK_baagi.TextGrid 1 Singleton 0.10125358 i:
14 AK_baagi.TextGrid 1 Singleton 0.70685099 E
15 AK_baga.TextGrid 1 Singleton 0.78044616 B
16 AK_baga.TextGrid 1 Singleton 0.09659531 b
17 AK_baga.TextGrid 1 Singleton 0.09220461 @
18 AK_baga.TextGrid 1 Singleton 0.05159068 g
19 AK_baga.TextGrid 1 Singleton 0.13482446 A:
20 AK_baga.TextGrid 1 Singleton 0.46999388 E
解决方法
正如@Jon Spring 在评论中回答的那样,这个问题的答案是使用 dplyr::lead() 函数而不是 lag()。这样,包含值 'A' 的 'xsampa' 列中的所有行都将被过滤并产生所需的输出。
lag() 函数只会在输入后面生成第一行。
答案:
.otf
输出:
mydata_new<- mydata %>% filter(lead (xsampa) == "A")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。