[R] ifelse command

Philip Wong tombfighter at mysinamail.com
Wed Aug 18 11:18:20 CEST 2010


hello people,
I want to make a biased dice using the sample() function and print out the
results after n number of runs, I've successfully generated the dice using
the following command:
mydie2<-function(n=1000,y=NULL,...){
for(i in 1:n){
x<-sample(1:6,n,replace=TRUE,prob=c(1,1,2,3,2,1)/10)
x=runif(n)
if(x<=1/10){y[i]=1}
else if(x<=2/10){y[i]=2}
else if(x<=4/10){y[i]=3}
else if(x<=7/10){y[i]=4}
else if(x<=9/10){y[i]=5}
else{y[i]=6}
}
bar<-barplot(table(y))
table<-table(y)
return(list(bar,table))
}

mydie2()


but I also want to try to create the same dice stimulation using ifelse()
statement, but all hell break loose when I attempt to use the command below
(the barplot only shows the results to be 6), can anyone tell me what went
wrong please:
mydie2<-function(n=1000,y=NULL,...){
for(i in 1:n){
x<-sample(1:6,n,replace=TRUE,prob=c(1,1,2,3,2,1)/10)
x=runif(n)
ifelse((x<=1/10),{y[i]<-1},
ifelse((x<=2/10),{y[i]<-2},
ifelse((x<=4/10),{y[i]<-3},
ifelse((x<=7/10),{y[i]<-4},
ifelse((x<=9/10),{y[i]<-5},{y[i]<-6})))))

}
bar<-barplot(table(y))
table<-table(y)
return(list(bar,table))
}


mydie2()
-- 
View this message in context: http://r.789695.n4.nabble.com/ifelse-command-tp2329538p2329538.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list