这可能是一个基本问题,但我无法在任何地方找到答案。我被告知要将else
语句放在大括号之间,因为' style'仅此而已。
考虑以下示例。假设我们有10个学生,每个学生都有1到10之间的考试成绩。5.5或更高是通过,否则失败。
set.seed(123)
student <- 1:10
marks <- round(runif(10, 1, 10), digits = 1)
df <- data.frame(student, marks)
第一个学生得了3.6,所以他没有通过考试。如果我执行以下操作:
if (df$marks[1] >= 5.5)
{
result <- "Pass"
}
else
{
result <- "Fail"
}
我收到错误:
错误:意外&#39;否则&#39; in&#34; else&#34;
以下作品:
if (df$marks[1] >= 5.5)
{
result <- "Pass"
}else{
result <- "Fail"
}
所以我想,如果我不将else
放在同一行,代码会认为if
语句已经结束,因此不知道如何处理else
。
但是,我想知道为什么以下有效:
for (i in 1:nrow(df))
{
if(df$marks[i] >= 5.5)
{
df$result[i] <- "Pass"
}
else
{
df$result[i] <- "Fail"
}
}
有人可以告诉我为什么else
语句不能在for
循环之外的新行开始,但它可以在内部吗?我总是}else{
因为我确信它总能奏效,但我希望有人能满足我的好奇心。