【问题标题】:copy info from one dataframe to another将信息从一个数据帧复制到另一个
【发布时间】:2019-08-07 04:46:52
【问题描述】:

编程语言:R

我有一个数据框提供实验观察(多个观察对应于相同的参与者 ID)和另一个数据框,其中包含有关这些参与者的信息。如何将此信息从数据框 2 复制到数据框 1,以便每当 id 相同时,将信息添加到相应的行?

我想我需要一个类似循环的东西,我在其中搜索匹配的 id,如果它们匹配,则复制信息。但不知道怎么做,因为我对编程 T.T 完全陌生

【问题讨论】:

  • 请提供一个可重现的数据框示例以及所需结果的外观 - 这样可以增加收到答案的机会
  • 这已经被问过很多次了,因为你是 R 的新用户,我想你可能首先对基本 R 解决方案感兴趣:https://stackoverflow.com/a/1300618/3602983 但你应该知道还有一些以更简单,更有效的方式处理此问题的库,并包含在上面链接的那个线程中。特别值得注意的是 tidyverse(dplyr、tidyr、+)和 data.table。

标签: r


【解决方案1】:

我会使用 merge 或 tidyverse 软件包套件中的连接函数:

df1 <- data.frame(
  'id' = 1:5,
  'y1' = LETTERS[1:5])

df2 <- data.frame(
  'id' = sample(1:5, size = 20, replace = TRUE), 
  'x1' = rnorm(20,0,1))

merge(df1, df2, by = 'id')

library(tidyverse)
left_join(df1, df2, 'id')

【讨论】:

    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 2021-02-25
    • 2015-09-08
    • 2019-09-27
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多