【问题标题】:Filling the data frame with duplicates based on another with unique values [duplicate]基于另一个具有唯一值的重复项填充数据框[重复]
【发布时间】:2018-09-22 07:45:58
【问题描述】:

我有一个具有唯一 ID 的数据框:

例子:

set.seed(1)
df_Unique <- matrix(rnorm(20),4,5)
colnames(df_Unique) <- paste0("k_",1:5)
rownames(df_Unique) <- paste0("Project",1:4)

                k_1        k_2        k_3         k_4         k_5
Project1 -0.6264538  0.3295078  0.5757814 -0.62124058 -0.01619026
Project2  0.1836433 -0.8204684 -0.3053884 -2.21469989  0.94383621
Project3 -0.8356286  0.4874291  1.5117812  1.12493092  0.82122120
Project4  1.5952808  0.7383247  0.3898432 -0.04493361  0.59390132

我还有另一个数据框,其中包含项目名称的重复项:

df_Dublicates <- matrix(NA,12,5)
colnames(df_Dublicates) <- paste0("k_",1:5)
rownames(df_Dublicates) <- sample(paste0("Project",1:4),size = 12,replace = T)

         k_1 k_2 k_3 k_4 k_5
Project2  NA  NA  NA  NA  NA
Project1  NA  NA  NA  NA  NA
Project1  NA  NA  NA  NA  NA
Project1  NA  NA  NA  NA  NA
Project2  NA  NA  NA  NA  NA
Project3  NA  NA  NA  NA  NA
Project3  NA  NA  NA  NA  NA
Project2  NA  NA  NA  NA  NA
Project4  NA  NA  NA  NA  NA
Project2  NA  NA  NA  NA  NA
Project2  NA  NA  NA  NA  NA
Project2  NA  NA  NA  NA  NA

我希望为df_Dublicates 数据帧相应地复制df_Unique 中的值。我不确定在这种情况下使用哪个函数。

【问题讨论】:

  • 与重复的问题相比略有扭曲,但答案完全相同:df_Unique[rownames(df_Dublicates), ]

标签: r dataframe replication


【解决方案1】:

这很简单。只是带有“重复”行名的子集:

df_Unique[rownames(df_Dublicates),]

PS:您的问题中没有显示 data.frames 。这些是矩阵。

【讨论】:

  • 非常感谢!我的真实数据集也包含字符。
猜你喜欢
  • 2021-01-17
  • 1970-01-01
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-26
  • 2021-08-12
相关资源
最近更新 更多