【发布时间】:2019-02-05 16:59:30
【问题描述】:
我有以下两个数据框:
n <- 15000
key <- sample(1:10, 10)
dictionary <- data.frame(key = key, value = LETTERS[1:10])
target_df <- data.frame(code = sample(key, n, replace = TRUE))
target_df$code[sample(seq_len(n), 10)] <- 0
我想用来自dictionary 的相应values 覆盖code。什么是有效的和可读的方式来做到这一点?我用过
find_in_dictionary <- function(x) {
y <- dictionary[match(x, dictionary[, 1]), 2]
}
target_df$code <- find_in_dictionary(target_df$code)
sum(is.na(target_df$code))
它似乎工作正常,并且可以正确处理不匹配的情况。你有更好的建议吗?
【问题讨论】:
-
@DeltalV:如果答案对您有用,请考虑投票或接受答案:) 谢谢
标签: r function dictionary dataframe