使用来自另一个表的数据将列添加到表

用户名

我有一个表,如下所示:

Table1 <- data.frame(
    "Random" = c("A", "B", "C"), 
    "Genes" = c("Apple", "Candy", "Toothpaste"), 
    "Extra" = c("Up", "", "Down"), 
    "Desc" = c("Healthy,Red,Fruit", "Sweet,Cavities,Sugar,Fruity", "Minty,Dentist")
)

给予:

  Random      Genes Extra                       Desc
1      A      Apple    Up          Healthy,Red,Fruit
2      B      Candy       Sweet,Cavities,Sugar,Fruity
3      C Toothpaste  Down              Minty,Dentist

我有另一个带有说明的表,并想添加带有基因的列。例如,Table2将是:

Table2 <- data.frame(
    "Col1" = c(1, 2, 3, 4, 5, 6), 
    "Desc" = c("Sweet", "Sugar", "Dentist", "Red", "Fruit", "Fruity")
)

给予:

  Col1    Desc
1    1   Sweet
2    2   Sugar
3    3 Dentist
4    4     Red
5    5   Fruit
6    6  Fruity

我想在Table2中添加另一列名为“ Genes”的列,该列与两个表中的“ Desc”匹配,并从Table1中添加Genes以获得:

  Col1    Desc    Gene
1    1   Sweet    Candy
2    2   Sugar    Candy
3    3 Dentist    Toothpaste
4    4     Red    Apple
5    5   Fruit    Apple
6    6  Fruity    Candy
阿克伦

您可以尝试cSplit从中splitstackshape拆分“ Table1”中的“ Desc”列,并将数据集从“宽”格式转换为“长”格式。输出将是data.table我们可以使用以下data.table方法将键列设置为“ Desc”(setkey),与“ Table2”联接,最后通过选择列或将:=不需要的列分配为空值来删除输出中不需要的列

library(splitstackshape)
setkey(cSplit(Table1, 'Desc', ',', 'long'),Desc)[Table2[2:1]][
                   ,c(5,4,2), with=FALSE]
#  Col1    Desc      Genes
#1:    1   Sweet      Candy
#2:    2   Sugar      Candy
#3:    3 Dentist Toothpaste
#4:    4     Red      Apple
#5:    5   Fruit      Apple
#6:    6  Fruity      Candy

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将一个表中的列添加到另一个表

kdb使用来自另一个表的数据更新整个列

将数据添加到另一个表的用户ID表中

动态数据透视表-如何将生成的列添加到另一个表?

使用列的值将数据表中的数据添加到另一个数据表

将数据从一列添加到另一个表的列Laravel 5.2

使用 Python 将现有 BQ 表中的列添加到另一个 BQ 表

使用来自另一个表的外键将数据插入或更新到表中

无法将数据从一个表添加到另一个表

MySQL将数据从一个表添加到另一个表

如何将另一个孩子添加到响应数据表

mysql使用来自另一个表的关系按表从列中排序数据

使用来自另一个表的时间向MySQL表填充虚拟数据

mysql使用来自另一个表的关系从表中订购数据

使用来自另一个 DataFrame 的值有效地将列添加到 Pandas DataFrame

将包含一个表类型的列添加到另一个表 (Postgres)

将一个表的多行添加到另一个表

使用相同的列名将数据从一个表添加到另一个表

如何从CSV / Excel中的查找ID号将一个表中的数据列添加到另一个表中?

如何将来自一个表模型的HTML表数据中的记录添加到另一个表模型中?

将范围行从一个数据表添加到另一个

使用SQLite使用来自另一个表的值更新列?

使用来自另一个表的数据更新特定行

根据来自另一个数据框的计数将列添加到数据框

根据来自另一个数据框的值将列添加到数据框

使用来自另一个表的汇总值更新一个表的多个列

将哈希表添加到另一个哈希表的末尾

如何将表中的值添加到另一个表中?

使用 SQL 中的日期表将工作日添加到另一个表