gpt4 book ai didi

r - 错误 1 ​​:N : NA/NaN argument

转载 作者:行者123 更新时间:2023-12-05 03:09:43 25 4
gpt4 key购买 nike

我正在使用此数据:https://www.dropbox.com/s/m02z4ykirfc1838/data.txt?dl=0

我正在尝试运行以下模型:

inputs<- data.frame(data[,c(1,2,3,4,5)]) # seleciona coluna 2 do objeto data
outputs <- data.frame(data[,c(6,7)]) # seleciona colunas 3, 4 e 5 do objeto data
N<- dim(data)[19] # número de DMUs
s <- dim(inputs)[5] # número de inputs
m <- dim(outputs)[2] # número de outputs
f.rhs <- c(rep(0,1,N),1) # RHS
f.dir <- c(rep("<=",1,N),"=") # direção das restrições
aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes tecnológicos em (6)
for (i in 1:N) {
f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da função objetivo
f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # adiciona a restrição b
T
z=1
results <- lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # resolve PPL
multipliers <- results$solution # multiplicadores
efficiency <- results$objval # indices de eficiência
duals <- results$duals # 
if (i==1) {
weights <- multipliers
effcrs <- efficiency
lambdas <- duals [seq(1,N)]
} else {
weights <- rbind(weights,multipliers)
effcrs <- rbind(effcrs , efficiency)
lambdas <- rbind(lambdas,duals[seq(1,N)])
}
}

但是,我得到了这个错误信息:

1:N 错误:NA/NaN 参数

我真的需要帮忙。

最佳答案

我不知道 lp 函数,但我看到你定义 N 、 s 、 m 的方式是错误的。你在 [] 中的值而不是 dim(data)[1] 或 dim(data)[2]。现在循环中的错误消失了。当你定义 N <-暗淡(数据)[19]N 被定义为 NA,因此循环是为 1:NA 创建的,它是 NAN

试试这个


data <- read.table("~/Documents/data.txt",header=F)
inputs<- data.frame(data[,c(1,2,3,4,5)]) # seleciona coluna 2 do objeto data
outputs <- data.frame(data[,c(6,7)]) # seleciona colunas 3, 4 e 5 do objeto data
N<- dim(data)[1] # número de DMUs
s <- dim(inputs)[2] # número de inputs
m <- dim(outputs)[2] # número de outputs
f.rhs <- c(rep(0,1,N),1) # RHS
f.dir <- c(rep("<=",1,N),"=") # direção das restrições
aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes tecnológicos em (6)
for (i in 1:N) {
f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da função objetivo
f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # adiciona a restrição b
T
z=1
results <- lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # resolve PPL
multipliers <- results$solution # multiplicadores
efficiency <- results$objval # indices de eficiência
duals <- results$duals # 
if (i==1) {
weights <- multipliers
effcrs <- efficiency
lambdas <- duals [seq(1,N)]
} else {
weights <- rbind(weights,multipliers)
effcrs <- rbind(effcrs , efficiency)
lambdas <- rbind(lambdas,duals[seq(1,N)])
}
}

关于r - 错误 1 ​​:N : NA/NaN argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41945792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com