替换列向量的缺失值
Replacing missing values of a column vector
在数据框中,我有两个分类变量,比如数据框 df
的 qs
和 vr
。这个数据框非常大,但假设 qs
中有 100 个不同的级别,没有必要遵循某种模式。列向量 vr
- 我说过也是一个分类变量 - 有一些缺失值。
我想做的是根据qs
中对应的类别或值来标记vr
中存在的缺失值。
我知道 先验 qs
中有 9 个不同的类别 vr
有缺失值.比如说,qs
中一个类别的标签是 102
,而对于 qs
中的这一类别,vr
中有缺失值。
所以,我接下来要做的是
- if category/label/value in qs==102 set vr==
Greece
- if category/label/value in qs==250 set vr==
Italy
结束等等。
遗憾的是,我的数据框非常复杂,我不知道如何重现一个简单的数据框。
假设'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][]
在数据框中,我有两个分类变量,比如数据框 df
的 qs
和 vr
。这个数据框非常大,但假设 qs
中有 100 个不同的级别,没有必要遵循某种模式。列向量 vr
- 我说过也是一个分类变量 - 有一些缺失值。
我想做的是根据qs
中对应的类别或值来标记vr
中存在的缺失值。
我知道 先验 qs
中有 9 个不同的类别 vr
有缺失值.比如说,qs
中一个类别的标签是 102
,而对于 qs
中的这一类别,vr
中有缺失值。
所以,我接下来要做的是
- if category/label/value in qs==102 set vr==
Greece
- if category/label/value in qs==250 set vr==
Italy
结束等等。
遗憾的是,我的数据框非常复杂,我不知道如何重现一个简单的数据框。
假设'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][]