【发布时间】:2016-12-09 13:36:21
【问题描述】:
我有以下数据框,其中包含我想要处理的名称和城市的定义,我不知道如何解释它,所以我在下面的表格中包含了输入和输出。
输入:
+---------+-----------+------------+---------------+
| Varname | Component | names | cities |
+---------+-----------+------------+---------------+
| A | B | Jack,Bruce | New york |
| B | | Cathy | Boston,Miami |
| C | | Bob | New york |
| D | C | Dick,Nancy | Austin,Dallas |
| E | A,C | | |
| F | | Mandy | Manchester |
+---------+-----------+------------+---------------+
输出:
+---------+-----------+----------------------+------------------------+
| Varname | Component | names | cities |
+---------+-----------+----------------------+------------------------+
| A | | Jack,Bruce,Cathy | New york,Boston,Miami |
| B | | Cathy | Boston,Miami |
| C | | Bob | New york |
| D | | Dick,Nancy,Bob | Austin,Dallas,New york |
| E | | Jack,Bruce,Cathy,Bob | New york,Boston,Miami |
| F | | Mandy | Manchester |
+---------+-----------+----------------------+------------------------+
正如您所希望看到的,我想获取组件列,对于该列中的每个 Varname,查找名称和城市(实际上我有更多的列)并将它们组合起来,这样我就有了一个完整的表。这可能吗?我不知道从哪里开始。我的表并不大,因此可以应用 for(){} 语句。
->编辑,我可能没有给出正确的示例,我已将输入替换为与我的数据更一致的内容。
输入的dput()
结构(列表(变量名 = 结构(1:6,.Label = c(“A”,“B”,“C”, “D”,“E”,“F”),class= “因子”),组件 = 结构(c(3L,1L, 1L, 4L, 2L, 1L), .Label = c("", "A,C", "B", "C"), class= "因子"), 名称=结构(c(5L,3L,2L,4L,1L,6L),.Label = c(“”, “鲍勃”,“凯茜”,“迪克,南希”,“杰克,布鲁斯”,“曼迪”),class=“因素”), 城市=结构(c(5L,3L,5L,2L,1L,4L),.Label = c(“”, “奥斯汀,达拉斯”,“波士顿,迈阿密”,“曼彻斯特”,“纽约” ), class= "因子")), .Names = c("Varname", "Component", "names", "cities"), class= "data.frame", row.names = c(NA, -6L ))
【问题讨论】:
-
使用
dput提供您的数据示例,以便可以复制 -
我包含了一个 dput()