【问题标题】:data.tables: merge [duplicate]data.tables:合并[重复]
【发布时间】:2013-03-06 15:13:17
【问题描述】:

我对 data.tables 有第二个问题。据我了解,合并在数据表中称为联接。如何控制我拥有哪种类型的合并(一对一、多对一、一对多),以及“使用”数据集中的变量是否会替换主数据集中的变量?

另外,如果执行合并需要密钥,并且我必须对我的数据进行多次合并,我是否必须不断更改密钥?这对我来说似乎不是很干净....

提前谢谢你, 马特奥

【问题讨论】:

  • 我投票结束,因为不是统计问题(请参阅对您的其他问题的评论)。但对于其他地方来说,这是一个合理的问题 - Stack Overflow 或 R-help。你在使用 data.table 包吗?你应该明确地说出来。 data.table 包有合理的文档,例如datatable.r-forge.r-project.org/datatable-faq.pdf - 你读过这个吗?里面有什么你想了解的吗?
  • 请确认您是否已阅读 data.table 常见问题解答,尤其是常见问题解答 1.12 和 1.13。请注意,由于您最初标记了这个问题 data.frame (only),我们没有看到它。任何关于 R 的问题都应该标记为 R,关于 data.table 的问题也应该标记为 data.table。这是一个很好的问题,但上面已经写了不少了。

标签: r dataframe data.table


【解决方案1】:

您可以尝试使用merge() 函数。在那里你可以定义你想如何合并你的 data.frames。

x, y    
data frames, or objects to be coerced to one.

by, by.x, by.y  
specifications of the columns used for merging. See ‘Details’.

all 
logical; all = L is shorthand for all.x = L and all.y = L, where L is either TRUE or FALSE.

all.x   
logical; if TRUE, then extra rows will be added to the output, one for each row in x that has no matching row in y. These rows will have NAs in those columns that are usually filled with values from y. The default is FALSE, so that only rows with data from both x and y are included in the output.

all.y   
logical; analogous to all.x.

请尝试?merge 了解更多信息。

您也可以在这里查看QuickR Merge

【讨论】:

    猜你喜欢
    • 2019-09-24
    • 2020-12-13
    • 2012-10-27
    • 2019-03-17
    • 2021-03-22
    • 2021-02-03
    • 2012-12-13
    • 2018-11-29
    • 2022-10-04
    相关资源
    最近更新 更多