r - 将数据框复制到另一个匹配的行号
问题描述
我有一个如下所示的数据框 A。请注意,第一列是随机顺序的行名。
ID
5 10
3 10
1 10
他们。我有另一个 5 * 1 数据框 B 和 NA。我正在尝试将 A 复制到与 A 中的列名匹配的 B。我想获得如下所示的数据框。
ID
1 10
2 NA
3 10
4 NA
5 10
解决方案
您正在尝试做的事情有潜在的危险。如果您 100% 确定行包含将在 2 个数据帧之间匹配的标识符,则代码如下。
library(tidyverse)
# Generate a data frame that looks like yours (you don't need this)
df <- data.frame(ID=c(10, NA, 10, NA, 10))
# Assign row names to a new column on the df
df$names <- row.names(df)
# Here's how your data will look like
df<-df[complete.cases(df),]
# Make a second df
df2 <- data.frame(names=as.character(1:20))
# Join by names (what are other possible columns to join by ?)
left_join(df2, df, by="names")
这将产生
names ID
1 1 10
2 2 NA
3 3 10
4 4 NA
5 5 10
6 6 NA
7 7 NA
8 8 NA
9 9 NA
10 10 NA
11 11 NA
12 12 NA
13 13 NA
14 14 NA
15 15 NA
16 16 NA
17 17 NA
18 18 NA
19 19 NA
20 20 NA
推荐阅读
- javascript - 如何在 Google Chrome 中删除 Stackoverflow Cookie 和证书?
- python - 为什么 __init__.py 中的相对导入也将模块绑定到其名称?
- java - 数组列表
来自 ArrayList 上的 String 属性 - rest - 如何从一个 webhook 中获取多个结果
- javascript - 根据该对象内部的值获取对象键
- redux - 如果一个返回对象而另一个返回对象的一个属性,我如何组合 2 个减速器?
- python - 如何在 Django 中从视图中设置初始表单字段值
- r - 如何提取下载链接并在 R 中下载文件?
- javascript - 引用已撤销的对象 URL
- javascript - 如何在上传之前获取文件名并在没有 fakepath 的情况下传递到另一个文本输入字段