R中语法错误中的简单if-else语句
我想谈谈以下几点: 如果LocID等于3,4,7,8,14,则数据$newConc等于数据$conc/2R中语法错误中的简单if-else语句,r,R,我想谈谈以下几点: 如果LocID等于3,4,7,8,14,则数据$newConc等于数据$conc/2 else data$newConc据我从您的代码(由于缺少右括号,该代码甚至无法运行?)中可以看出,您正在尝试执行以下操作(伪代码): 要执行此操作,请使用ifelse 另外,如果您想测试一个值是否等于3、4、7、8或14,那么不要使用==--这将返回布尔向量,如果需要一个布尔值,则将导致错误 使用%c(3,4,7,8,14)中的data$locID%返回单个真/假,或使用any(data$
else data$newConc据我从您的代码(由于缺少右括号,该代码甚至无法运行?)中可以看出,您正在尝试执行以下操作(伪代码): 要执行此操作,请使用
ifelse
另外,如果您想测试一个值是否等于3、4、7、8或14,那么不要使用==
--这将返回布尔向量,如果需要一个布尔值,则将导致错误
使用%c(3,4,7,8,14)中的data$locID%返回单个真/假,或使用any(data$locID==c(3,4,7,8,14))
将布尔向量转换为单个布尔值:
data$newConc <- ifelse( data$locID %in% c(3,4,7,8,14),
data$conc/2,
data$conc )
您将标量与向量进行比较,因此您的输出是一个向量。if
语句只接受一个布尔值(不是布尔向量)
使用%c(3,4,7,8,14)中的data$locID%返回单个真/假,或使用any(data$locID==c(3,4,7,8,14))
将布尔向量转换为单个布尔值:
data$newConc <- ifelse( data$locID %in% c(3,4,7,8,14),
data$conc/2,
data$conc )
data$newConc据我所知,您正在尝试执行的代码(伪代码):
要执行此操作,请使用ifelse
另外,如果您想测试一个值是否等于3、4、7、8或14,那么不要使用==
--这将返回布尔向量,如果需要一个布尔值,则将导致错误
使用%c(3,4,7,8,14)中的data$locID%返回单个真/假,或使用any(data$locID==c(3,4,7,8,14))
将布尔向量转换为单个布尔值:
data$newConc <- ifelse( data$locID %in% c(3,4,7,8,14),
data$conc/2,
data$conc )
您将标量与向量进行比较,因此您的输出是一个向量。if
语句只接受一个布尔值(不是布尔向量)
使用%c(3,4,7,8,14)中的data$locID%返回单个真/假,或使用any(data$locID==c(3,4,7,8,14))
将布尔向量转换为单个布尔值:
data$newConc <- ifelse( data$locID %in% c(3,4,7,8,14),
data$conc/2,
data$conc )
data$newConc您给出的R代码无效…没有平衡括号?您的意思是ifelse
?您给出的R代码无效…没有平衡的括号?你的意思是说如果有其他的
?