【问题标题】:Merge two tables together in R在R中将两个表合并在一起
【发布时间】:2017-06-21 15:44:31
【问题描述】:

目前我正在尝试将 R 中的两个表合并在一起。它们都有不同的内容并且没有ID,只是列有R给出的数字。

我现在的问题是我无法将表 2 中的列及其值添加到表 1。我还想提一下,它们的行数相同,这意味着表 1 有 1000 行和表2也一样。我也无法添加 ID 字段,否则无法运行我的代码的进一步步骤。

基本上我的表格是这样的:

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 举个例子会很有帮助。看起来cbind 可以完成这项工作
  • 只要使用cbind(table1,table2)

标签: r merge


【解决方案1】:

最简单(也可能是盲目的方式)是使用 cbind 合并两张表,只要每张表的行数相等即可。

x<-tribble(~Value1, ~Value2, ~Value3,

a,b,c,

aa,bb,cc)

y<-tribble(~Value4, ~Value5, ~Value6,

d,e,f,

dd,ee,ff)

cbind(x,y)

输出变成

       Value 1      Value 2     Value 3   Value 4    Value 5   Value 6

1            a         b           c         d          e          f 

2           aa        bb           cc       dd         ee         ff 

由于这两个表(我假设)是互斥的,如果您没有要使用的关系,就无法有意义地连接它们。如果您试图在 R 中合并它们,它将合并两个表并返回一个数据框,其中包含合并它们的所有不同的唯一组合。这意味着,如果每行有 1000 行,则最终可能会得到一个 1000*1000 的数据框。

【讨论】:

  • 谢谢你我试过你的建议,它奏效了。不,我将所有值都放在一张表中。
【解决方案2】:

这将重现您的示例

Value1=c("a","aa")
Value2=c("b","bb")
Value3=c("c","cc")
Value4=c("d","dd")
Value5=c("e","ee")
Value6=c("f","ff")

table1=data.frame(Value1,Value2,Value3)
table2=data.frame(Value4,Value5,Value6)  
Result=cbind(table1,table2)

【讨论】:

    猜你喜欢
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 2019-08-13
    相关资源
    最近更新 更多