r - R 中复合语句中的奇怪错误? : "target of assignment expands to non-language object"

标签 r syntax syntax-error assignment-operator

我在 R 中发生了一件非常奇怪的事情。这段代码给出了以下错误,“Error in 1 && CurrentData$phase[i] > -0.5 || PriorData$phase[MatchTimeFrames(i, : 赋值目标扩展到非语言对象”

  return (CurrentData$phase[i-1]<-1 && CurrentData$phase[i]>-0.5 || 
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)-1]<-1 &&
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] > -0.5 ||  
         CurrentData$phase[i]>0 ||
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] >0
       )

如果我注释掉第一个条件,代码就会运行。

  return (#CurrentData$phase[i-1]<-1 && CurrentData$phase[i]>-0.5 || 
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)-1]<-1 &&
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] > -0.5 ||  
         CurrentData$phase[i]>0 ||
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] >0
       )

如果我注释掉第二个条件,代码就会运行。

  return (CurrentData$phase[i-1]<-1 && CurrentData$phase[i]>-0.5 || 
         #PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)-1]<-1 &&
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] > -0.5 ||  
         CurrentData$phase[i]>0 ||
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] >0
       )

显然,我希望这两个条件都运行,而使它起作用的原因是在第二个条件的小于号和 -1 之间放置一个空格。

 return (CurrentData$phase[i-1]<-1 && CurrentData$phase[i]>-0.5 || 
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)-1]< -1 && PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] > -0.5 ||  
         CurrentData$phase[i]>0 ||
         PriorData$phase[MatchTimeFrames(i, CurrentData, PriorData)] >0
       )

知道为什么会发生这种情况吗?看起来很奇怪,在这个特定的例子中,R 需要在小于号和 -1 之间有一个空格。请注意,第一项 CurrentData$phase[i-1]<-1 没有空格。

谢谢。

最佳答案

因为<-是作业。这是一个更短的示例,可以更清楚地说明发生的情况:

> x <- 1 && y <- 2
Error in 1 && y <- 2 : 
  target of assignment expands to non-language object

关于r - R 中复合语句中的奇怪错误? : "target of assignment expands to non-language object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20793648/

相关文章:

r - 如何在 R 中读取相关矩阵并形成散点图矩阵

r - 使用子集或 dplyr::filter 时,过滤 R 中的行会意外删除 NA

r - 使 ggplot 看起来像 R 中的原生图一样漂亮

python - <<在python中代表什么?

jquery - 如何编写自己的自定义 jQuery 插件(未捕获的 TypeError : . .. 不是函数)

R 在组内跨行连接但保留序列

perl - 你如何在 Perl 中创建对象?

haskell - 传入的是什么?

Eclipse Indigo PDT 没有在语法错误下划线

mongodb - 蒙戈导出语法错误: missing ; before statement @(shell):1:14