Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用模型加快行的复制_R - Fatal编程技术网

R 使用模型加快行的复制

R 使用模型加快行的复制,r,R,我想为一个整数自变量(iv1)创建复制预测,给定一些模型和一个称为训练的数据框架。这是我目前的做法。我理解这不是自包含的,但希望它是自解释的: number_of_samples <- 10 results <- NULL for (row in 1:nrow(training)) { fake_iv1_values <- sample(1:100, number_of_samples) case <- training[row,] for (

我想为一个整数自变量(iv1)创建复制预测,给定一些模型和一个称为训练的数据框架。这是我目前的做法。我理解这不是自包含的,但希望它是自解释的:

number_of_samples <- 10
results <- NULL
for (row in 1:nrow(training)) {

    fake_iv1_values <- sample(1:100, number_of_samples)
    case <- training[row,]

    for (iv1 in fake_iv1_values) {
        case$iv1 <- iv1

        case$prediction <- predict(some_model, newdata = case)

        results <- rbind(results, case)
    }
}
样本数试试这个

可复制的假数据和模型:

# create fake data
n_row <- 100
n_xs  <- 100

training <- data.frame(y = rnorm(n_row), iv1 = rnorm(n_row))
training[, paste0("x",1:n_xs)] <- replicate(n_xs, list(rnorm(n_row)))

# example model
some_model <- lm(y~., training)
#创建假数据

我认为你可以直接做
预测(一些模型,newdata=fake\u iv1\u值)
。在R中,许多函数都是矢量化的。但是,如果您共享一个
训练
伪iv1_值的示例,那么测试它应该更容易。@Edo-这不会起作用,因为还有其他独立的值,但我认为我可以先创建一个复制案例的数据框,然后在一次扫描中使用模型并附加预测。我可以假设
训练
一些\u模型
如下所示<代码>培训是的,但更多xs
number_of_samples <- 10
results <- NULL

# vector of several fake_iv1_values vectors
fake_iv1_values <- as.numeric(replicate(nrow(training), sample(1:100, number_of_samples)))

# replicate each row of the original dataframe
results <- training[rep(seq_len(nrow(training)), each = number_of_samples), ]

# add fake values to the replicated dataframe
results$iv1 <- fake_iv1_values

# get predictions
results$prediction <- predict(some_model, newdata = results)