我想实现辍学,即用NA随机替换元素,并用NA值返回向量/列表。
想要的结果是减少过度拟合,因此为此可能会有更好的便利功能。
方法1
b<-rnorm(100); b[match(sample(b,10),b)] <- NA
其中10个值被替换为NA。
方法2。如何去除90%的人口?无效,少于90%:
b<-rnorm(99); b[match(sample(b,length(b)*0.9),b)] <- NA
由于可能的匹配(即选择相同的元素)而实际上不起作用。
是否有用于退出的内置或便捷功能?
答案 0 :(得分:1)
使用函数is.na<-
为向量分配NA
值。
set.seed(1)
b <- rnorm(100)
b[match(sample(b, 10), b)] <- NA
set.seed(1)
b2 <- rnorm(100)
is.na(b2) <- sample(length(b2), 10)
identical(b, b2)
#[1] TRUE
为了实现使用NA
去除90%的人口,sample
基于要处理的向量的长度。
set.seed(1)
b <- rnorm(100)
is.na(b) <- sample(length(b), 0.9*length(b))
mean(is.na(b))
#[1] 0.9