在本示例数据中,三个人将10个项目分为可变数量的组并为每个组提供文本标签。 人员和标签是文本字段。下载并读入R时的项目var作为整数读取。项目变量实际上是分类数据并为项目定义文本;一个测试的项目编号是一个很好的比喻。标签,物品和人员可以按任何顺序排列,我通常按照您在此处看到的方式对数据进行排序,以便进行目视检查。每个人在这个例子中有10个项目,在现实世界中通常有100个项目。每个人都有可变数量的标签。每个标签都有可变数量的项目。所有项目都与一个且只有一个标签相关联,并且所有项目(本例中为1-10个)每个人出现一次,没有缺失数据。R代码 - 重组数据,将三列数据堆积到行
人组项目
PERSON_1 label_A 1
PERSON_1 label_A 2
PERSON_1 label_A 3
PERSON_1 label_A 4
PERSON_1 label_B 5
PERSON_1 label_B 6
PERSON_1 label_C 7
PERSON_1 label_C 8
PERSON_1 label_C 9
PERSON_1 label_C 10
PERSON_2 label_D 1
PERSON_2 label_D 2
个PERSON_2 label_D 3
PERSON_2 label_D 4
...其余为简洁起见省略
线I需要重组为下面的格式的数据。每一行都是带有相关项目的标签变量,标签只在一行上。每个人都有多次重复,因为他们有独特的标签。我已经搜索了堆栈溢出并且已经进行了多次重塑和tidyr尝试,我能够生成的最好的是矩形二进制矩阵,其中数据框中有一个或零个人和标签的列,然后是10列标记为1:10的列对于此示例中的每个项目值。我可以通过后期处理获得我想要的excel,但宁可在R中完成,我需要列中的实际项目值,如下所示。理想情况下,最大ncol将为每个peson &标签以及代表排序所需的数量。 Person3,label_H需要7列的项目,所以在那些列或其他行中可能有NA或0。 任何帮助将不胜感激,我通常可以找到我需要在StackOverflow上的答案,这次我很难过。
人组项目
PERSON_1 label_A 1 2 3 4
PERSON_1 label_B 5 6
PERSON_1 label_C 7 8 9 10
PERSON_2 label_D 1 2 3 4
PERSON_2 label_E 5 6 7
person_2 label_F 8 9 10
person_3 label_G 1 2 3
person_3 label_H 4 5 6 7 8 9 10
你尝试过什么? –
请显示你的尝试。 – Heroka