rbind 2个不同长度的向量通过他们的名字

标签 r

我有 2 个不同长度的向量:

vec1 <- rnorm(18, mean = 0.0018, sd = 0.0001)
names(vec1) <- c("CSF", "D10", "D13", "D16", "D18", "D1", "D21", "D22", "D3", "D5", "D7", "D8", "FGA", "PD", "PE", "TH", "TP", "vWA")

vec2 <- rnorm(20, mean = 0.0022, sd = 0.0002)
names(vec2) <-  c("CSF", "D10", "D12", "D13", "D16", "D18", "D19", "D1", "D21", "D22", "D2", "D2S", "D3", "D5", "D7", "D8", "FGA", "TH", "TP", "vWA") 

我需要通过它们的名称来绑定(bind)这些向量。当一个向量中的名称在另一个向量中不存在时,应该生成 NA。

有没有简单的方法可以做到这一点?

最佳答案

我发现处理 data.frames 比处理向量更容易。我会做这样的事情:

merge(stack(vec1), stack(vec2), by="ind", all=TRUE)

#    ind    values.x    values.y
# 1  CSF 0.001904712 0.001969627
# 2   D1 0.001794500 0.002450328
# 3  D10 0.001761172 0.002144368
# 4  D13 0.001792968 0.002037505
# 5  D16 0.001715555 0.002240566
# 6  D18 0.001770989 0.002459609
# 7  D21 0.001697098 0.002292614
# 8  D22 0.001673249 0.002057277
# 9   D3 0.001824599 0.002025163
# 10  D5 0.001762133 0.002066801
# 11  D7 0.001938889 0.002218919
# 12  D8 0.001804742 0.001930666
# 13 FGA 0.001723325 0.002153777
# 14  PD 0.001864792          NA
# 15  PE 0.001581331          NA
# 16  TH 0.001803464 0.002136557
# 17  TP 0.001737948 0.002294142
# 18 vWA 0.001681773 0.002168390
# 19 D12          NA 0.001907538
# 20 D19          NA 0.002243354
# 21  D2          NA 0.002040115
# 22 D2S          NA 0.002230522

关于rbind 2个不同长度的向量通过他们的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486693/

相关文章:

html - 制作 slidify 或 Rpres HTML5 演示文稿的讲义

java - 在 R 中使用 Stanford NLP 库,使用 rJava 包

r - 删除最后一个字符,除非前面有特定字符

r - 在光栅砖中交换轴

r - R 中的 Github Repo 下载不断失败

r - 如何导入带有空白单元格的 csv

r - 发布 Shiny 应用程序时出错 : app. R 未返回 Shiny 的.appobj 对象

r - 通过原点节点指定圆弧颜色 arcplot {arcdiagram}

regex - 除非在两点之间,否则替换字符串

r - 如何在ggplot2中重新排序图例?