为什么在R中使用&&运算符编写条件判断时出现Parse报错?
R代码语法报错修复方案
错误根因
你写的if判断语句括号使用不符合R语法要求:if关键字后的所有判断条件必须整体包裹在同一对小括号内,你的写法将两个判断条件拆分到两对独立小括号中,导致R解析器无法识别&&运算符的作用范围,触发语法解析错误。
修正后的循环写法
general_list <- 0 for (row in 1:nrow(ed_error)) { # 所有判断条件统一放在if后的同一对括号内 if (ed_error[row, 1] == "general" && ed_error[row, 2] == 1) { general_list <- general_list + 1 } }
更优的向量化写法(推荐)
R原生支持向量化操作,无需逐行遍历即可完成计数,运行效率远高于循环写法:
# na.rm = TRUE参数可避免数据中存在空值时返回NA,可根据实际数据情况选择是否保留 general_list <- sum(ed_error[,1] == "general" & ed_error[,2] == 1, na.rm = TRUE)
内容的提问来源于stack exchange,提问作者cagatay.e.sahin
相关产品推荐
相关产品推荐

