r - R Markdown中的错误(二进制运算符的非数字参数)

标签 r error-handling r-markdown

我仅在尝试将R Markdown编织到Word文档时遇到此错误。该代码在其他地方(在Rscript中)运行良好。

numericScores = transform(correctedScores, beer2_score =     as.numeric(beer2_score))
numericScores = transform(correctedScores, beer3_score = as.numeric(beer3_score))
numericScores = transform(correctedScores, beer4_score = as.numeric(beer4_score))
numericScores = transform(correctedScores, beer5_score = as.numeric(beer5_score))
numericScores = transform(correctedScores, beer6_score = as.numeric(beer6_score))

# testing to see if they are indeed numeric
 sapply(numericScores, mode)

correctedGuesses = Guesses[complete.cases(Guesses), ]
str(correctedGuesses)
correctedGuesses

correctedScores = numericScores[complete.cases(numericScores), ]
str(correctedScores)
correctedScores
########

# trying to put scores in correct order 

# first I will label the beers with their names

for(i in 1:45){
  for(j in 2:7) {
if (Order[i,j] == 1) { Order[i, j] = "Miller"}
if (Order[i,j] == 2) { Order[i, j] = "Natural"}
if (Order[i,j] == 3) { Order[i, j] = "Keystone"}
if (Order[i,j] == 4) { Order[i, j] = "Busch"}
if (Order[i,j] == 5) { Order[i, j] = "Bud"}
if (Order[i,j] == 6) { Order[i, j] = "Miller"}
  } 
}

# Deleting the unused/unavailable Order rows
Order = Order[-c(4, 33),]


Miller_sc = 0 
Natural_sc = 0
Keystone_sc = 0
Busch_sc = 0
Bud_sc = 0

B = c(
Miller_sc, 
Natural_sc,
Keystone_sc,
Busch_sc,
Bud_sc )

for (i in 1:43) {
 for (j in 2:7) {
if (Order[i,j] == "Miller") {B[1] = B[1] + correctedScores[i,j]}
if (Order[i,j] == "Natural") {B[2] = B[2] + correctedScores[i,j]}
if (Order[i,j] == "Keystone") {B[3] = B[3] + correctedScores[i,j]}
if (Order[i,j] == "Busch") {B[4] = B[4] + correctedScores[i,j]}
if (Order[i,j] == "Bud") {B[5] = B[5] + correctedScores[i,j]}
 }
}

该错误显示为:

Error in B[3] + correctedScores[i, j]: non-numeric argument to binary operator Calls: ... handle ->withCallingHandlers -> withVisible -> eval -> eval Execution halted

最佳答案

发生此类错误的通常原因是,文档中的代码引用了全局环境中的变量。编织文档时,它看不到该变量,因此会出现错误。

最常见的错误是“找不到变量”的某些变化。您遇到了另一个错误,因此R在其他位置找到了具有正确名称的变量。

没有完整的文档,我们无法确定是什么变量导致了您的问题。快速浏览您的脚本时,我看到这些没有定义的变量:

correctedScores
beer2_score # etc., though these might be columns in correctedScores
Guesses
Order

我还注意到脚本的前4行什么也不做,因为第5行会覆盖其结果。

关于r - R Markdown中的错误(二进制运算符的非数字参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53567755/

相关文章:

r - 如何将 Rmd 文件的 html 输出对齐到左侧

r - 如何在R图中将轴从零原点开始调整

r - 特定日期的子集数据框

r - 如何修复 R markdown 中的 Kable 表错误?

yaml - R Markdown YAML "Scanner error: mapping values..."

html - Rmarkdown 'saving' html页面的确切位置

r - 如何更改R中xyplot中标签值的大小

java - 如何捕捉在 Alfresco 的 Activiti 6 中发送电子邮件时发生的错误?

c - 我应该怎么做才能完全处理 C 错误?

php - 如何处理SOAP请求失败的错误?