Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中语法错误中的简单if-else语句_R - Fatal编程技术网

R中语法错误中的简单if-else语句

R中语法错误中的简单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$

我想谈谈以下几点: 如果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$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代码无效…没有平衡的括号?你的意思是说如果有其他的