在数据框中,我有两个分类变量,例如数据框qs
的{{1}}和vr
。这个数据帧非常大,但假设在df
中有100个不同的级别,在模式之后不是必需的。列向量qs
- 我所说的也是一个分类变量 - 有一些缺失值。
我想要做的是根据vr
中相应的类别或值标记vr
中存在的缺失值。
我知道先验 ,qs
中有9个不同的类别qs
缺少值。比方说,vr
中某个类别的标签为qs
,102
中此类别的标签qs
中缺少值。
所以,我当时要做的是
vr
Greece
结束等等。
可悲的是,我的数据帧非常复杂,我不知道如何重现简单的数据帧。
答案 0 :(得分:1)
假设有一个' c'在' vr'对于' qs'值3,我们可以使用data.table
library(data.table)
setDT(df)[, vr := na.omit(vr)[1] , by = qs]
目前尚不清楚OP是否希望用“' vr”的独特元素替换缺失值。对于每个''或者来自其他一些价值观。如果要替换其他一些值,请创建一个键/值数据集并加入原始数据集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][]