R中的开关功能错误
error in switch function in R
to_select=cbind(te_matrix[i,j],te_matrix[j,k],te_matrix[i,k]);
te_ac=apply(abs(to_select),2,sort);
var_ac=apply(abs(to_select),2,order);
if(te_ac[1]<te_ac[2]-0.005){
switch(var_ac[1],
1= (del_arc<-rbind(del_arc,cbind(count-1,i,k)))
2= (del_arc<-rbind(del_arc,cbind(count-1,j,k)))
3= (del_arc<-rbind(del_arc,cbind(count-1,i,k))))
}
当我运行这段代码时,它会抛出如下错误:
M:/学习/毕业设计/传递熵R语言/triplenode.R:27:26: unexpected '='
26: switch(var_ac[1],
27: 1=
^
R
中的函数"switch"是不是我搞错了
是的。如果切换表达式为数字,则切换函数的操作会有所不同。您的切换表达式是一个数字。
由于您的切换表达式是数字,因此您不需要 = 符号。
无论哪种情况,您还需要用逗号分隔选项
switch(var_ac[1],
del_arc<-rbind(del_arc,cbind(count-1,i,k)),
del_arc<-rbind(del_arc,cbind(count-1,j,k)),
del_arc<-rbind(del_arc,cbind(count-1,i,k))
)
您的 var_ac[1]
的值必须评估(或强制)为值 1,2 或 3,否则切换函数将 return NULL
to_select=cbind(te_matrix[i,j],te_matrix[j,k],te_matrix[i,k]);
te_ac=apply(abs(to_select),2,sort);
var_ac=apply(abs(to_select),2,order);
if(te_ac[1]<te_ac[2]-0.005){
switch(var_ac[1],
1= (del_arc<-rbind(del_arc,cbind(count-1,i,k)))
2= (del_arc<-rbind(del_arc,cbind(count-1,j,k)))
3= (del_arc<-rbind(del_arc,cbind(count-1,i,k))))
}
当我运行这段代码时,它会抛出如下错误:
M:/学习/毕业设计/传递熵R语言/triplenode.R:27:26: unexpected '='
26: switch(var_ac[1],
27: 1=
^
R
中的函数"switch"是不是我搞错了是的。如果切换表达式为数字,则切换函数的操作会有所不同。您的切换表达式是一个数字。
由于您的切换表达式是数字,因此您不需要 = 符号。
无论哪种情况,您还需要用逗号分隔选项
switch(var_ac[1],
del_arc<-rbind(del_arc,cbind(count-1,i,k)),
del_arc<-rbind(del_arc,cbind(count-1,j,k)),
del_arc<-rbind(del_arc,cbind(count-1,i,k))
)
您的 var_ac[1]
的值必须评估(或强制)为值 1,2 或 3,否则切换函数将 return NULL