【问题标题】:Spotfire/TERR Issue - Error in parse(text = script)Spotfire/TERR 问题 - 解析错误(文本 = 脚本)
【发布时间】:2020-10-01 20:51:57
【问题描述】:

解析错误(文本 = 脚本):文本参数解析错误:符号 ​​​​​​​ 必须使用反引号(第 26 行,字符 47 到 67)编写

当我尝试使用以下代码时出现上述错误。奇怪的是我的代码中没有任何 ``.. 对我所缺少的有什么建议吗?第 26 行以 if(sum(gdata..

data = data.frame( Well, Prod, ProdDate )

data$ProdDate = as.POSIXct(data$ProdDate, origin = "1970-01-01", tz="UTC")
data$ProdDate <- interpNA(data$ProdDate, method = c("linear") 
minDate = aggregate(x=data$ProdDate, by=list(data$Well), FUN=min)
colnames(minDate) <- c("Well","MinDate")
data = merge(data, minDate, by="Well", all.x=TRUE)

# Calculate Days On
data$MinDate = as.POSIXct(data$MinDate, origin="1970-01-01", tz="UTC")
data$DaysOn = as.numeric(data$ProdDate - data$MinDate, units="days")
data$Predict = rep(NA, nrow(data))
data$Qi = rep(NA, nrow(data))
data$A = rep(NA, nrow(data))
data$B = rep(NA, nrow(data))

gdata <- data;

min.RSS <- function(data, par) {
  with(data, sum(((par[1]/((1+par[2]*par[3] * DaysOn)^(1/par[3]))) - Oil)^2))
}

wells = unique( na.omit(gdata$Well) )
 for(well in wells) {
    idx = gdata$Well == well
    if(sum(gdata$Prod[idx], na.rm=TRUE) > 0) {​​​​​​​
        startQi = max(data$Prod[idx], na.rm=TRUE)
        fit <- optim(par = c(startQi, .2), min.RSS, x = gdata[idx,])
        gdata$Predict[idx] = fit$par[1]/((1+fit$par[2]*1*gdata$DaysOn[idx])^(1/1))
        gdata$Qi[idx] = fit$par[1]
        gdata$A[idx] = fit$par[2]
        gdata$B[idx] = 1 
    }​​​​​​​
}​​​​​​​
gdata$ProdDateCheck <- gdata$ProdDate
Predict <- gdata #gdata[, c("MinDate", "DaysOn", "Predict", "Qi", "A", "B")]

【问题讨论】:

    标签: r spotfire terr


    【解决方案1】:

    在第 26 行的左大括号后面有一堆零长度空格字符 (Unicode 200B)。您看不到它们,因为它们是不可见的。

    如果您将代码行直接复制到您的 R 控制台中,您可以确认这一点。如果您在问题下点击“编辑”,则在您进入 R 并执行以下操作时将第 26 行复制到剪贴板:

    readClipboard()
    

    你会得到

    #> [1] "    if(sum(gdata$Prod[idx], na.rm=TRUE) > 0) {???????"
    

    您可以在其中看到 R 解释器不知道如何显示零长度字符串字符。这些是导致错误的原因。

    解决此问题的最简单方法是进入文件,选择下一行的开头,然后按退格键,直到大括号被删除。写一个新的大括号和一个换行符,然后保存。之后你的文件应该可以工作了。

    至于他们是如何到达那里的 - 如果您从 html 源复制代码,或者有人在恶作剧,您可能会得到这些?

    【讨论】:

    • 哇,好吧。我已经盯着这个看了大约 2 个小时,出于某种原因从未想过将它粘贴到 Rstudio 中。当当。
    • 我感觉自己像个侦探。。我发现了一个错误。最后追捕罪魁祸首,然后修复它。才发现新的错误。下面的那个现在出现了。解析错误(文本 = 脚本):文本参数解析错误:“minDate”处解析错误(第 5 行,字符 1 到 7)
    • 应该很容易在 RStudio @TonyStark 中找到并删除它们。我不确定您是否可以将它们正则表达式。
    • 我复制了一些我找到的代码并对其进行了修改以供我使用。我解决了最初的问题,现在我正在尝试解决下一个问题。哈哈。感谢您的帮助!
    • 现在看来我在第 7 行的 minDate 函数引起了问题。我相信这与这行代码有关 data$ProdDate
    猜你喜欢
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多