You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言运行代码提示unexpected '}' in " }"错误如何修复

报错原因

你遇到的Error: unexpected '}' in " }"语法错误,直接诱因是R的语法规则要求:if关键字后的判断条件必须放在圆括号()中。你代码里写的if i == 'F'没有给判断条件加括号,R解析器无法正确识别语句结构,读到后续的大括号时就会抛出意外符号的报错。
除此之外你的代码还有一处逻辑问题:R中append()函数不会原地修改传入的向量,必须把函数返回的结果重新赋值给原变量,否则即使语法修正,循环执行完Gender还是初始的NULL,不会保存任何生成的值。

修正后可正常运行的代码
C <- rep(c('F','M'), each = 3, times = 4)
Gender <- NULL
for (i in C) {
  # 给if判断条件补充圆括号
  if (i == 'F'){
    # 将append返回的新向量重新赋值给Gender
    Gender <- append(Gender, values = 'Female')
  }
  else {
    Gender <- append(Gender, values = 'Male')
  }
}
更简洁的R风格实现

这类固定值映射的场景不需要写for循环,用向量化操作代码更短、运行效率更高:

# 方法1:用ifelse向量化判断
Gender <- ifelse(C == 'F', 'Female', 'Male')

# 方法2:用命名向量匹配
# label_map <- c(F = "Female", M = "Male")
# Gender <- unname(label_map[C])

内容的提问来源于stack exchange,提问作者virgin technician

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 03:15:47