我仅在尝试将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/