【发布时间】:2020-09-14 01:07:23
【问题描述】:
我有一种方法可以通过匹配 id 值来替换数据框中的值。这适用于小型数据集,但不适用于大型数据集。有人对我如何使这个过程在计算上更有效有什么建议吗?
下面是我的 R 代码示例。我正在使用 tidyverse 包。
# Delta Array small test
test_df <- data.frame(ID = c(1,2,3,4,5,6,7,8,8,9),
val = c(1,NA,3,4,5,6,7,8,NA,9))
delta_test <- data.frame(ID = c(2,8,9),
val = c(2,100,50))
test_df$val <- ifelse(is.na(delta_test$val[match(test_df$ID, delta_test$ID)]),
test_df$val,
delta_test$val[match(test_df$ID, delta_test$ID)])
test_df
【问题讨论】:
标签: r dataframe indexing dplyr