stringsAsFactors = FALSE
.cpgi=read.csv(paste0(DATA_DIR,"Exercises/Ex_per_date/Datasets/CpGi.table.hg18.csv"), stringsAsFactors = F)
Here is an explanation of the columns:
summary()
.summary(cpgi$perCpg)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.70 16.00 18.10 18.48 20.50 40.20
low
< 60high
> 75medium
between 60 and 75Then try your function by evaluating: 35, 12, 60, 90.
evCG<-function(x){
if(x<60){
result="low"
}
else if(x>75){
result="high"
}
else{
result="medium"
}
}
print(evCG(35))
## [1] "low"
print(evCG(12))
## [1] "low"
print(evCG(60))
## [1] "medium"
print(evCG(90))
## [1] "high"
Add other conditions to your function:
Notice: you have to be really carefull. Only one output is correct.
Hint: you can do this exercise in several ways; for example, you can nest conditionals or you can use them in series. You are not obligated to use all three if, if else and else.
Then try your function by evaluating: 35, 12, 60, 110, -3, “A”.
evCG<-function(x){
if(is.numeric(x)){
if(x<0 | x>100){ result="The number is not a percentage" }
else{
if(x<60){
result="low"
}
else if(x>75){
result="high"
}
else if(x>=60 & x<=75){
result="medium"
}
}
}
else{result="This is not a number"}
result
}
print(evCG(35))
## [1] "low"
print(evCG(12))
## [1] "low"
print(evCG(60))
## [1] "medium"
print(evCG(110))
## [1] "The number is not a percentage"
print(evCG(-3))
## [1] "The number is not a percentage"
print(evCG("A"))
## [1] "This is not a number"
GC percentages of CpG island
on chrX and put them into a
vector. Use the function you wrote above.gcValues=subset(cpgi, chrom=="chrX")$perGc
vec<-c()
for( i in gcValues){
vec=c(vec,evCG(i) )
print(evCG(i))
}
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "high"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
cpgi
keeping only CpG island on chrY, then order
rows by perGc
values (increasing). Print GC percentage
classes of CpG islands until perGc value is < 65
. Hint:
use a while()
loop with an increasing index. What happens
if you do not order values before using while loop?gcValues=subset(cpgi, chrom=="chrY")
gcValues=gcValues[order(gcValues$perGc),]
gcValues=gcValues$perGc
i=1
while( gcValues[i]<65){
print(evCG(gcValues[i]))
i=i+1
}
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "low"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
## [1] "medium"
for
statements, one inside the other.M<-matrix(nrow = 9, ncol = 9)
for(i in 1:9){
for(j in 1:9){
M[i,j]=i*j
}
}
M
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 1 2 3 4 5 6 7 8 9
## [2,] 2 4 6 8 10 12 14 16 18
## [3,] 3 6 9 12 15 18 21 24 27
## [4,] 4 8 12 16 20 24 28 32 36
## [5,] 5 10 15 20 25 30 35 40 45
## [6,] 6 12 18 24 30 36 42 48 54
## [7,] 7 14 21 28 35 42 49 56 63
## [8,] 8 16 24 32 40 48 56 64 72
## [9,] 9 18 27 36 45 54 63 72 81
v
containing 10 personal names.
Then:v
and
assign a name to each element by taking a random number from a gaussian
distribution. Then print the element of the vector with its namev=c("Maria", "Lorenzo", "Loris", "Alessia", "Federica", "Matteo", "Roman", "Andrea", "Laura", "Marco")
for(i in 1:length(v)){
names(v)[i]=rnorm(1, 10, 4)
print(v[i])
}
## 11.3638374521713
## "Maria"
## 0.850845419347563
## "Lorenzo"
## 10.1743889634802
## "Loris"
## 11.8613193036837
## "Alessia"
## 13.2614173937047
## "Federica"
## 12.4038769091364
## "Matteo"
## 14.3165300468616
## "Roman"
## 8.34173048135062
## "Andrea"
## 8.36432345866598
## "Laura"
## 5.80900802782421
## "Marco"
v
## 11.3638374521713 0.850845419347563 10.1743889634802 11.8613193036837
## "Maria" "Lorenzo" "Loris" "Alessia"
## 13.2614173937047 12.4038769091364 14.3165300468616 8.34173048135062
## "Federica" "Matteo" "Roman" "Andrea"
## 8.36432345866598 5.80900802782421
## "Laura" "Marco"
Are there any missing values? At the end test the matrix using
is.na()
mat=matrix(rep(NA, 9*8), ncol=8)
for(i in 1:9){
for(j in 1:8){
if(i<=2 & j<=3){
mat[i, j]=runif(1)
}
else if(i==3){
mat[i, j]=3
}
else if(i<=9 & i>=4 & j<=8 & j>=4 ){
mat[i, j]=rnorm(1, 8, 4)
}
else if(i==1 & j<=9 & j>=4){
mat[i, j]=0
}
else if(i<=9 & i>=4 & j<=3 & j>=1 ){
mat[i, j]=log10(mat[4,4])
}
}
}
mat
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 0.07464571 0.9436147 0.4392230 0.000000 0.000000 0.000000 0.000000
## [2,] 0.52259764 0.7212086 0.7662259 NA NA NA NA
## [3,] 3.00000000 3.0000000 3.0000000 3.000000 3.000000 3.000000 3.000000
## [4,] NA NA NA 7.838904 9.247463 2.327910 14.736730
## [5,] 0.89425534 0.8942553 0.8942553 8.339473 12.866967 10.683047 9.094863
## [6,] 0.89425534 0.8942553 0.8942553 12.201212 13.558040 -2.510552 6.631758
## [7,] 0.89425534 0.8942553 0.8942553 5.784127 10.774117 3.846086 12.851234
## [8,] 0.89425534 0.8942553 0.8942553 9.351207 3.997382 15.035513 12.016517
## [9,] 0.89425534 0.8942553 0.8942553 2.994152 6.753279 6.890414 6.016020
## [,8]
## [1,] 0.000000
## [2,] NA
## [3,] 3.000000
## [4,] 12.611801
## [5,] 4.198158
## [6,] 10.441654
## [7,] 13.214013
## [8,] 7.720240
## [9,] 5.826462
is.na(mat)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
## [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [4,] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
## [5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [9,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
while
loop that at each iteration add a number
in the vector x
from a gaussian distibution (with mean 0
and sd 1.5) but terminates if you get a number bigger than 3.x=c()
i=0
while(i<3){
i=rnorm(1, 0, 1.5)
x=c(x, i)
}
x
## [1] 0.51895596 -3.28199471 -2.29757934 1.91606118 -0.66291808 -0.82601543
## [7] 1.12108824 0.39867661 1.59491768 0.80595015 -1.77629031 -1.98781733
## [13] -0.99226973 0.92400767 1.43552805 -0.78473697 0.79853115 0.58625624
## [19] -0.80499154 0.79102531 -2.37765024 1.61743166 1.78884641 -1.21334404
## [25] 0.71190856 -1.63300102 0.04902451 -3.29813060 0.80813268 -0.96579983
## [31] -1.05630159 -0.06657671 1.96182752 0.89245512 0.62695008 -1.80303973
## [37] 1.10930384 -1.62939175 1.31673105 -1.00780328 -1.47100306 -0.29132394
## [43] 0.85597704 -0.01564681 -2.93868554 1.04234101 -0.65960373 0.83299910
## [49] 2.74284291 -1.70138065 -0.99875907 2.63421318 4.28452000