【发布时间】:2020-06-11 00:23:13
【问题描述】:
我正在使用 grepl 函数尝试对数据进行排序;所有的行号都是不同的调查对象,“ANI_type”字符串中的每个数字代表不同类型的动物——我需要根据动物类型对它们进行排序。更具体地说,我需要将字符串中的一些数字分组。例如,数字 6,7,8,9,10,11 都需要放在 animals$pock 对象中。我将如何使用 grep 函数来解决这个问题?
> animals$dogs <- as.numeric(grepl("\\b1\\b", animals$ANI_type))
> animals
ANI_type dogs cats repamp
1 1,2,5,12,13,14,15,16,18,19,27 1 1 0
2 2 0 1 0
3 20,21,22,23,26 0 0 0
4 20,21,22,23 0 0 0
5 13 0 0 0
6 2 0 1 0
7 20,21,22 0 0 0
8 20,21,22,23 0 0 0
9 20,21,22 0 0 0
10 5,20,21,22,27 0 0 0
11 1,2,20,21,22 1 1 0
12 5,18,20,21,22,23,26 0 0 0
13 20,21 0 0 0
14 21 0 0 0
15 20,21 0 0 0
16 20,21,26 0 0 0
17 2 0 1 0
18 1,2 1 1 0
19 2 0 1 0
20 3,4 0 0 1
预期的输出是上面的列(狗,猫,repamp)......这些很容易做到,因为只有一位;我遇到的麻烦是拆分倍数。
【问题讨论】:
-
你能添加你的预期输出吗?
-
预期的输出是上面的列(狗,猫,repamp)......这些很容易做到,因为只有一位;我遇到的麻烦是拆分倍数。
-
但是它在哪里定义了哪个数字是.what?我的意思是你怎么知道2应该进入
cats而1应该是dogs?这些信息在哪里? -
哦,我明白你的意思了。所有这些都来自调查数据;我将所有这些信息都保存在单独的电子表格中。
标签: r regex string substring grouping