我从不使用if语句,而必须产生一个简单的语句。
value=c(250,200,180)
vector1<-c(1:10)
vector2<-c(11:20)
vector3<-c(21:30)
matrixmy<-cbind(vector1,vector2,vector3)
我的if语句将在函数(myfunction
)中。这个想法是:
function(250)
时,我将使用矩阵matrixmy[,1]
的第一列作为其余功能。 function(220)
时,我将使用矩阵matrixmy[,2]
的第二列作为其余功能。 function(200)
时,我将使用矩阵matrixmy[,3]
的第一列作为其余功能该功能已经实现,但我无法复制示例。
我一直在考虑if else语句的想法是:
if value[i]=250 then j=1
sample=matrixmy[,1]
else
if value[i]=220 then
sample=matrixmy[,2]
else
then value[i]=200 then j=3
sample=matrixmy[,3]
清楚吗?
有帮助吗?
谢谢
答案 0 :(得分:2)
您可以简化很多事情,只需使用:
index <- c(`250` = 1, `220` = 2, `200` = 3)[as.character(value[i])]
sample = matrixmy[, index]
如果您要坚持自己的代码,请使用类似这样的内容。
if (value[i]==250) j=1
if (value[i]==220) j=2
if (value[i]==200) j=3
sample=matrixmy[,j]