替换列向量的缺失值

Replacing missing values of a column vector

在数据框中,我有两个分类变量,比如数据框 dfqsvr。这个数据框非常大,但假设 qs 中有 100 个不同的级别,没有必要遵循某种模式。列向量 vr - 我说过也是一个分类变量 - 有一些缺失值。

我想做的是根据qs中对应的类别或值来标记vr中存在的缺失值。

我知道 先验 qs 中有 9 个不同的类别 vr 有缺失值.比如说,qs 中一个类别的标签是 102,而对于 qs 中的这一类别,vr 中有缺失值。

所以,我接下来要做的是

结束等等。

遗憾的是,我的数据框非常复杂,我不知道如何重现一个简单的数据框。

假设'vr'中有一个'c'对于'qs'值为3,我们可以用data.table

library(data.table)
setDT(df)[, vr := na.omit(vr)[1] , by = qs]

不清楚 OP 是否想用每个 'qs' 的 'vr' 的唯一元素或其他一些值替换缺失值。如果要替换成其他一些值,创建一个key/value数据集并与原始数据集on'qs'

连接
df1 <- data.table(qs = 1:4, vr = c("Serbia", "England", "Greece", "USA"))
df$qs <- as.numeric(as.character(df$qs))
setDT(df)[df1, on = "qs"][is.na(vr), vr := i.vr][, i.vr := NULL][]