从多值字段中选择一个值

时间:2016-01-29 17:27:47

标签: r multivalue

编程新手。目前使用R.拉入具有多值字段的员工数据平面文本文件。 EmployeeClass变量的值选项可以是:ABCDE。可以选择多个,可以有空白值,可以多次选择一个(如果它们有多个相同类型的位置),它们可以按任何顺序排列。 EmployeeClass变量是一个列表。

Data[Employee1, EmployeeClass]
[A, B, C, D, E]

Data[Employee2, EmployeeClass]
[B, D, [blank], E]

Data[Employee3, EmployeeClass]
[C, B, A]

Data[Employee4, EmployeeClass]
[B, D, D, C]

Data[Employee5, EmployeeClass]
[E]

直到此时才能调整数据,并且该表有超过41,000个观测值。我试图将变量降低到每个观察值一个值,因此我需要根据其他3个列的信息选择正确的值,为每个员工定义一个“主要”类。

Data[Employee1, EmployeeClass]
[C]

Data[Employee2, EmployeeClass]
[D]

Data[Employee3, EmployeeClass]
[A]

Data[Employee4, EmployeeClass]
[B]

Data[Employee5, EmployeeClass]
[E]

最简单的编码方法是什么?我试过tidyr和grepl一些没有进展。任何帮助将不胜感激。

编辑:我可能不太清楚。让我重新说一下。我没有编写程序的问题,并且因为所需的逻辑有许多排列,所以如果我这样做的话,简洁起见可能更容易。我只是在寻找一个可以解析字符串的函数或包,用逗号分隔,然后应用逻辑来返回一个可理解的值。此字符串的长度并不总是与列中的其他观察值相同,字符串中的某些值可能为空,并且字符串中的值序列不会严格按升序或降序计算。

到目前为止,我发现的大多数函数都要求所有观察值的字段长度相等。是否有可以处理这些要求的功能,或者我最好采用不同的路线?谢谢!

0 个答案:

没有答案