编程新手。目前使用R.拉入具有多值字段的员工数据平面文本文件。 EmployeeClass
变量的值选项可以是:A
,B
,C
,D
,E
。可以选择多个,可以有空白值,可以多次选择一个(如果它们有多个相同类型的位置),它们可以按任何顺序排列。 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一些没有进展。任何帮助将不胜感激。
编辑:我可能不太清楚。让我重新说一下。我没有编写程序的问题,并且因为所需的逻辑有许多排列,所以如果我这样做的话,简洁起见可能更容易。我只是在寻找一个可以解析字符串的函数或包,用逗号分隔,然后应用逻辑来返回一个可理解的值。此字符串的长度并不总是与列中的其他观察值相同,字符串中的某些值可能为空,并且字符串中的值序列不会严格按升序或降序计算。
到目前为止,我发现的大多数函数都要求所有观察值的字段长度相等。是否有可以处理这些要求的功能,或者我最好采用不同的路线?谢谢!