如果列表中的某些条目不像列表中的其他条目那样重复,那么如何在R中"取消堆叠"列表?

Ran*_*ahn 1 r

此问题是早期问题的扩展(从R中的列表中筛选值).我有一个类似于下面列出的长列表.列表中的其中一个名称" issues.fields.customfield_10400 "与其他所有名称相比重复次数较少.检查此"名称"的存在/不存在是我正在尝试处理的任务之一.NULL值非常好.

DF = structure(list(name = structure(c(7L, 3L, 1L, 6L, 4L, 2L, 5L, 
                                      7L, 3L, 1L, 6L, 4L, 2L, 5L, 7L, 3L, 1L, 6L, 4L, 5L, 7L, 3L, 1L, 
                                      6L, 4L, 5L), .Label = c("issues.fields.created", "issues.fields.customfield_10400", 
                                                              "issues.fields.issuetype.name", "issues.fields.status.name", 
                                                              "issues.fields.summary", "issues.fields.updated", "issues.key"
                                      ), class = "factor"), value = structure(c(18L, 13L, 4L, 4L, 11L, 
                                                                                7L, 10L, 17L, 14L, 3L, 6L, 11L, 7L, 9L, 16L, 13L, 2L, 2L, 11L, 
                                                                                8L, 15L, 14L, 1L, 5L, 11L, 12L), .Label = c("2017-05-05T13:09:12.381-0700", 
                                                                                                                            "2017-06-07T07:03:11.155-0700", "2017-07-26T11:15:03.074-0700", 
                                                                                                                            "2017-08-01T09:00:44.956-0700", "2017-08-14T13:47:21.612-0700", 
                                                                                                                            "2017-08-14T13:47:30.419-0700", "AA1234567", "Acquire replacement files from XYZ", 
                                                                                                                            "Add measurement ", "Ingest changed file location ", "Open", 
                                                                                                                            "Re-classify \"Generic Assays\" (n=24)", "Sub-task", "Task", 
                                                                                                                            "TEST-1030", "TEST-1192", "TEST-1357", "TEST-1358"), class = "factor")), .Names = c("name", 
                                                                                                                                                                                                                "value"), row.names = c(NA, 26L), class = "data.frame")

                              name                               value
1                       issues.key                           TEST-1358
2     issues.fields.issuetype.name                            Sub-task
3            issues.fields.created        2017-08-01T09:00:44.956-0700
4            issues.fields.updated        2017-08-01T09:00:44.956-0700
5        issues.fields.status.name                                Open
6  issues.fields.customfield_10400                           AA1234567
7            issues.fields.summary       Ingest changed file location 
8                       issues.key                           TEST-1357
9     issues.fields.issuetype.name                                Task
10           issues.fields.created        2017-07-26T11:15:03.074-0700
11           issues.fields.updated        2017-08-14T13:47:30.419-0700
12       issues.fields.status.name                                Open
13 issues.fields.customfield_10400                           AA1234567
14           issues.fields.summary                    Add measurement 
15                      issues.key                           TEST-1192
16    issues.fields.issuetype.name                            Sub-task
17           issues.fields.created        2017-06-07T07:03:11.155-0700
18           issues.fields.updated        2017-06-07T07:03:11.155-0700
19       issues.fields.status.name                                Open
20           issues.fields.summary  Acquire replacement files from XYZ
21                      issues.key                           TEST-1030
22    issues.fields.issuetype.name                                Task
23           issues.fields.created        2017-05-05T13:09:12.381-0700
24           issues.fields.updated        2017-08-14T13:47:21.612-0700
25       issues.fields.status.name                                Open
26           issues.fields.summary Re-classify "Generic Assays" (n=24)
Run Code Online (Sandbox Code Playgroud)

当我取消堆栈列表时,我收到以下错误消息.

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  : 
  arguments imply differing number of rows:
Run Code Online (Sandbox Code Playgroud)

有人可以建议如何处理这种情况吗?

我需要创建如下所示的数据帧.

res = structure(list(issues.fields.created = structure(c(4L, 3L, 2L, 
                                                   1L), .Label = c("2017-05-05T13:09:12.381-0700", "2017-06-07T07:03:11.155-0700", 
                                                                   "2017-07-26T11:15:03.074-0700", "2017-08-01T09:00:44.956-0700"
                                                   ), class = "factor"), issues.fields.issuetype.name = structure(c(1L, 
                                                                                                                    2L, 1L, 2L), .Label = c("Sub-task", "Task"), class = "factor"), 
               issues.fields.status.name = structure(c(1L, 1L, 1L, 1L), .Label = "Open", class = "factor"), 
               issues.fields.customfield_10400 = structure(c(2L, 2L, 1L, 
                                                             1L), .Label = c("", "AA1234567"), class = "factor"), issues.fields.summary = structure(c(3L, 
                                                                                                                                                      2L, 1L, 4L), .Label = c("Acquire replacement files from XYZ", 
                                                                                                                                                                              "Add measurement ", "Ingest changed file location", "Re-classify \"Generic Assays\" (n=24)"
                                                                                                                                                      ), class = "factor"), issues.fields.updated = structure(c(2L, 
                                                                                                                                                                                                                4L, 1L, 3L), .Label = c("2017-06-07T07:03:11.155-0700", "2017-08-01T09:00:44.956-0700", 
                                                                                                                                                                                                                                        "2017-08-14T13:47:21.612-0700", "2017-08-14T13:47:30.419-0700"
                                                                                                                                                                                                                ), class = "factor"), issues.key = structure(c(4L, 3L, 2L, 
                                                                                                                                                                                                                                                               1L), .Label = c("TEST-1030", "TEST-1192", "TEST-1357", "TEST-1358"
                                                                                                                                                                                                                                                               ), class = "factor")), .Names = c("issues.fields.created", 
                                                                                                                                                                                                                                                                                                 "issues.fields.issuetype.name", "issues.fields.status.name", 
                                                                                                                                                                                                                                                                                                 "issues.fields.customfield_10400", "issues.fields.summary", "issues.fields.updated", 
                                                                                                                                                                                                                                                                                                 "issues.key"), row.names = c(NA, 4L), class = "data.frame")

         issues.fields.created issues.fields.issuetype.name issues.fields.status.name
1 2017-08-01T09:00:44.956-0700                     Sub-task                      Open
2 2017-07-26T11:15:03.074-0700                         Task                      Open
3 2017-06-07T07:03:11.155-0700                     Sub-task                      Open
4 2017-05-05T13:09:12.381-0700                         Task                      Open
  issues.fields.customfield_10400               issues.fields.summary
1                       AA1234567        Ingest changed file location
2                       AA1234567                    Add measurement 
3                                  Acquire replacement files from XYZ
4                                 Re-classify "Generic Assays" (n=24)
         issues.fields.updated issues.key
1 2017-08-01T09:00:44.956-0700  TEST-1358
2 2017-08-14T13:47:30.419-0700  TEST-1357
3 2017-06-07T07:03:11.155-0700  TEST-1192
4 2017-08-14T13:47:21.612-0700  TEST-1030
Run Code Online (Sandbox Code Playgroud)

Fra*_*ank 5

使用unstack标题中提到的功能:

us = unstack(DF, value ~ name)
data.frame(lapply(us, `length<-`, max(lengths(us))))
Run Code Online (Sandbox Code Playgroud)

这给了

         issues.fields.created issues.fields.customfield_10400 issues.fields.issuetype.name issues.fields.status.name
1 2017-08-01T09:00:44.956-0700                       AA1234567                     Sub-task                      Open
2 2017-07-26T11:15:03.074-0700                       AA1234567                         Task                      Open
3 2017-06-07T07:03:11.155-0700                            <NA>                     Sub-task                      Open
4 2017-05-05T13:09:12.381-0700                            <NA>                         Task                      Open
                issues.fields.summary        issues.fields.updated issues.key
1       Ingest changed file location  2017-08-01T09:00:44.956-0700  TEST-1358
2                    Add measurement  2017-08-14T13:47:30.419-0700  TEST-1357
3  Acquire replacement files from XYZ 2017-06-07T07:03:11.155-0700  TEST-1192
4 Re-classify "Generic Assays" (n=24) 2017-08-14T13:47:21.612-0700  TEST-1030
Run Code Online (Sandbox Code Playgroud)

缺少的值填充NA- R中的标准代码 - 而不是空白.