-4
使用R我想生成一个矩阵,其中epsilons是列,行是输入数据。然而,当我尝试分配一个值到矩阵的错误出现:作为逻辑运算结果的R中的矩阵赋值
“错误的结果[,j]的< - (概率> epsilons [j]的): 更换具有长度零”
我尝试了很多方法,但我坚持这一点。请注意,当使用oracle R对象时会发生此问题。看到小代码下面能重现问题:
library(ORE)
ore.connect(user="XXXX", service_name="XXXXX", host="XXXXXXXX", password="XXXXX", port=XXXX, all=TRUE)
ore.sync('MYDATABASE')
ore.attach()
ore.pull(MY_TABLE)
trainingset <- MY_TABLE$MY_COLUMN[1:1000]
crossvalidationset <- MY_TABLE$MY_COLUMN[1001-2000]
# Training
my_column_avg <- mean(trainingset)
my_column_std <- sd(trainingset)
# Validation
probabilities <- dnorm(crossvalidationset,my_column_avg,my_column_std)
epsilons <- c(0.01,0.05,0.1,0.25,0.5,0.75,0.8)
num_rows <- length(probabilities)
num_cols <- length(epsilons)
results <- matrix(TRUE, num_rows, num_cols)
# Anomaly detection results for several epsilons
for(j in 1:num_cols)
{
results[,j] <- (probabilities > epsilons[j])
}
什么是'inkpressureprob'?我将它设置为0.12,脚本运行良好。 –
嗨,请更换inkpressureprob的概率。看看上面的新代码。 – Humberto
你的代码适合我! – Paul