ans[npos]中出错<;-rep(否,length.out=len)[npos]:替换的长度为零

ans[npos]中出错<;-rep(否,length.out=len)[npos]:替换的长度为零,r,R,您好,我目前是大一新生,仍在学习R在线课程,我收到一条错误消息: “ans[NPO]中的错误,因为您正在检查长度1的条件,请使用if/else而不是ifelse dataGrade <- data.frame(GRADE.A = c(79, 89, 93), GRADE.B = c(90, 92, 91)) gradeColumn2 <- dataGrade[, 2] twoGrades <- gradeColumn2[1:2]

您好,我目前是大一新生,仍在学习R在线课程,我收到一条错误消息:
“ans[NPO]中的错误,因为您正在检查长度1的条件,请使用
if
/
else
而不是
ifelse

dataGrade <- data.frame(GRADE.A = c(79, 89, 93),
                        GRADE.B = c(90, 92, 91))

gradeColumn2 <- dataGrade[, 2]
twoGrades <- gradeColumn2[1:2]

if(twoGrades[1] == gradeColumn2[3]) {
  cat("Grade", twoGrades[1],"is equal to Grade",gradeColumn2[3])
} else{
    cat("Grade", twoGrades[1],"is not equal to Grade",gradeColumn2[3])
}

#Grade 90 is not equal to Grade 91

dataGrade虽然答案是正确的,但原因是ifelse()是条件元素选择,因此它被设计为返回一个值。您需要结构if/else来执行操作。
dataGrade <- data.frame(GRADE.A = c(79, 89, 93),
                        GRADE.B = c(90, 92, 91))

gradeColumn2 <- dataGrade[, 2]
twoGrades <- gradeColumn2[1:2]

if(twoGrades[1] == gradeColumn2[3]) {
  cat("Grade", twoGrades[1],"is equal to Grade",gradeColumn2[3])
} else{
    cat("Grade", twoGrades[1],"is not equal to Grade",gradeColumn2[3])
}

#Grade 90 is not equal to Grade 91