【发布时间】:2019-07-15 07:52:45
【问题描述】:
我想合并两个数据框列。
我有 df1,它有一个特定的列 (df$col1)。此列有 1-100 行,某些行有 NA 值(比如说第 10、15、20、50、69 行)。
Dataframe 2 有 10,15,20,50,69 行。
是否可以将 DF2 合并到 df$col 以便仅 df$col 中的 NA 值由 DF2 填充..取决于每个数据集的索引号
我试过了,但得到的数据框看起来不像我想要的
merge(brfss2$pa1min_,df,by.x=1,by.y=1,all.x=TRUE,all.y=TRUE)
这是两个数据框
数据框1:
1 NA
2 110
3 NA
4 35
5 NA
6 120
7 280
8 30
9 240
10 260
11 322
12 NA
数据框 2:
1 2127.6
3 1403.0
5 198.0
12 112.8
【问题讨论】:
-
尝试加入
library(data.table);setDT(df1)[df2, v2 := i.v2, on = .(v1)]假设 'v1', 'v2' 作为两个数据集中的列。您是否遇到过第一列的某些重复元素具有值并且不想替换它的情况? -
也许我应该将此添加到问题 df1 实际上是来自现有数据框的列...没有重复
-
还假设您在第一个数据集中有
12 24,并且在 dataset2 中有一个值,那么它不应该被替换吗? -
@akrun 不会发生 dataset2 仅具有与第一个数据集中的 NA 值对应的行的值
-
好的,那么我的解决方案应该可以工作