R 根据数据的分数赋值

R 根据数据的分数赋值,r,R,因此,我有一个非常大的数据集,其中包含一些丢失/错误的数据。我想使用IF-else语句对缺少的数据进行编码。我不想为所有缺失/不好的值只分配一个值,而是希望根据分数分配基数 例如,对于df,如下所示: 将df$col2==B的50%分配给蓝色,另50%分配给红色 col1 col2 1 a 2 a 3 b 4 b 我知道你可以做到: if else( df$col2==b, "BLUE", df$col1) 但我想: col1 col2 1

因此,我有一个非常大的数据集,其中包含一些丢失/错误的数据。我想使用IF-else语句对缺少的数据进行编码。我不想为所有缺失/不好的值只分配一个值,而是希望根据分数分配基数

例如,对于df,如下所示:

df$col2==B的50%分配给蓝色,另50%分配给红色

col1  col2
1     a
2     a
3     b
4     b
我知道你可以做到:

if else( df$col2==b, "BLUE", df$col1)  
但我想:

 col1  col2
1     a
2     a
3     BLUE
4     RED

我想做这个条件的分区基础

您可以通过生成一个“红色”和“蓝色”向量,在需要时选择作为替换

## Generate some random data with missing values
set.seed(2017)
a = sample(c("Red", "Blue"), 20, replace=TRUE)
a = ifelse(runif(20, 0, 1) < 0.12, NA, a)

## Now replace missing
a = ifelse(is.na(a), 
          sample(c("Red", "Blue"), length(a), replace=TRUE, prob=c(0.5,0.5)), a)
##生成一些缺少值的随机数据
种子集(2017)
a=样品(c(“红色”、“蓝色”),20,替换为真)
a=ifelse(runif(20,0,1)<0.12,NA,a)
##现在替换丢失的
a=如果其他(即,na(a),
样本(c(“红色”、“蓝色”)、长度(a)、替换值=真、概率=c(0.5,0.5))、a)
添加一个可使StackOverflow社区更容易找到答案。