Я написал код, который отлично работает в R Studio (3.4.3).Я скопировал код в проект Spotfire (TERR), и он работал нормально один или два раза, но теперь бомбы с ошибкой «Invalid subscript type 'list'».Я обнаружил, что это происходит из строки ниже в функции apply
.
minGT <- as.numeric(rownames(resultGT)[apply(resultGT , 2, which.min)])
Я провел несколько дней, пытаясь найти потенциальные решения, найденные в SO и других местах, но безрезультатно.Ниже приведен фрагмент кода, уменьшенный для просмотра:
###Code revised previously after SO (@Parfait) assistance - different problem##
library(plyr)
DS <- DirectionalSurveys[, c("IDWELL", "API", "WELL NAME", "DIVISON", "MD", "INCL", "AZIM", "NS", "EW", "TVD", "DLS", "Northing", "Easting")]
Perf <- Perforation[, c("IDWELL", "Well API Number", "Well Name", "County", "Mid Perf MD", "Mid Perf TVD")]
colnames(DS) <- c("IDWELL", "API", "WellName", "Division", "MD", "INCL", "AZIM", "NS", "EW", "TVD", "DLS", "Northing", "Easting")
colnames(Perf) <- c("IDWELL", "API", "WellName", "County", "MidPerfMD", "MidPerfTVD")
df_lists <- lapply(seq_along(WellName), function(i) {
S <- DS$MD[DS$WellName == WellName[i]]
P <- Perf$MidPerfMD[Perf$WellName == WellName[i]]
resultGT <- outer(S, P, '>=')
resultGT[resultGT == FALSE] <- 50
rownames(resultGT) <- paste0(S)
colnames(resultGT) <- paste0(P)
#This is the line that throws the error - specifically the `apply` function
minGT <- as.numeric(rownames(resultGT))[apply(resultGT , 2, which.min)]
#Calculations begin below after some additional subsetting (not shown)
deep <- S[match(minGT, S)]
shallow <- S[match(minGT, S) - 1]
#............etc.
#Remainder of code removed to prevent recipient boredom....
Я был бы очень признателен за некоторую (дополнительную) помощь - @Parfait уже помог мне запустить весь код ранее, поэтому заранее спасибо залюбая дополнительная помощь.При необходимости я могу предоставить набор данных и полное кодирование.
Вот сообщение об ошибке в полном объеме: Сгенерировано сообщение об ошибке