classht=c(177,169,175,165,171)
sum(classht)
## [1] 857
length(classht)
## [1] 5
classht[1]
## [1] 177
classht[5]
## [1] 171
sum(classht)/length(classht)
## [1] 171.4
mean(classht)
## [1] 171.4
sort(classht)
## [1] 165 169 171 175 177
sort(classht)[1]
## [1] 165
sort(classht)[0.5+length(classht)/2]
## [1] 171
median(classht)
## [1] 171
ajayfun=function(x,y){
  x*2+y^3
}
ajayfun(3,5)
## [1] 131
for (i in 1:10){print(ajayfun(3,i))}
## [1] 7
## [1] 14
## [1] 33
## [1] 70
## [1] 131
## [1] 222
## [1] 349
## [1] 518
## [1] 735
## [1] 1006
ajayobj=NULL
for (i in 1:10){ajayobj[i]=ajayfun(3,i)}
ajayobj
##  [1]    7   14   33   70  131  222  349  518  735 1006
33%%2
## [1] 1
32%%2
## [1] 0
ajayfun2=function(x){
  ifelse(x%%2==0,"EVEN","ODD")
}
ajayfun2(45)
## [1] "ODD"
ajayfun2(32)
## [1] "EVEN"
for(i in 1:20){print(ajayfun2(i))}
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
## [1] "ODD"
## [1] "EVEN"
newmedian=function(x){
  ifelse(length(x)%%2==1,
         sort(x)[0.5+length(x)/2],
         0.5*(sort(x)[length(x)/2]+sort(x)[1+length(x)/2])
         )}
  
ajay1=c(23,56,78,45)
newmedian(ajay1)
## [1] 50.5
median(ajay1)
## [1] 50.5
ajay2=c(31,33,35,37,39)
newmedian(ajay2)
## [1] 35
median(ajay2)
## [1] 35
plot(ajay1)

plot(sort(ajay1))

#Q
#CREATE A FUNCTION THAT TAKES IN TWO INPUTS
# AND RETURNS THE SUM OF THEIR CUBES
#APPLY THE FUNCTION TO 1000 numbers 
#AND STORE THEM in an object
#A

myfun=function(a,b)#inputs are two
  {
  a^3+b^3 #function
}
myfun(2,3) #testing function
## [1] 35
newobj=NULL #creating null object
newobj=data.frame(newobj) #changing it to data frame

#Example of Nested Loop
for(i in 1:10){
   for (j in 1:10)
   {
    newobj[i,j]=myfun(i,j)
   }

  }
newobj
##      V1   V2   V3   V4   V5   V6   V7   V8   V9  V10
## 1     2    9   28   65  126  217  344  513  730 1001
## 2     9   16   35   72  133  224  351  520  737 1008
## 3    28   35   54   91  152  243  370  539  756 1027
## 4    65   72   91  128  189  280  407  576  793 1064
## 5   126  133  152  189  250  341  468  637  854 1125
## 6   217  224  243  280  341  432  559  728  945 1216
## 7   344  351  370  407  468  559  686  855 1072 1343
## 8   513  520  539  576  637  728  855 1024 1241 1512
## 9   730  737  756  793  854  945 1072 1241 1458 1729
## 10 1001 1008 1027 1064 1125 1216 1343 1512 1729 2000
newobj
##      V1   V2   V3   V4   V5   V6   V7   V8   V9  V10
## 1     2    9   28   65  126  217  344  513  730 1001
## 2     9   16   35   72  133  224  351  520  737 1008
## 3    28   35   54   91  152  243  370  539  756 1027
## 4    65   72   91  128  189  280  407  576  793 1064
## 5   126  133  152  189  250  341  468  637  854 1125
## 6   217  224  243  280  341  432  559  728  945 1216
## 7   344  351  370  407  468  559  686  855 1072 1343
## 8   513  520  539  576  637  728  855 1024 1241 1512
## 9   730  737  756  793  854  945 1072 1241 1458 1729
## 10 1001 1008 1027 1064 1125 1216 1343 1512 1729 2000
mean(newobj$V1)
## [1] 303.5
mean(newobj$V2)
## [1] 310.5
newobj2=as.list(newobj)
newobj2=unlist(newobj)
newobj2
##   V11   V12   V13   V14   V15   V16   V17   V18   V19  V110   V21   V22 
##     2     9    28    65   126   217   344   513   730  1001     9    16 
##   V23   V24   V25   V26   V27   V28   V29  V210   V31   V32   V33   V34 
##    35    72   133   224   351   520   737  1008    28    35    54    91 
##   V35   V36   V37   V38   V39  V310   V41   V42   V43   V44   V45   V46 
##   152   243   370   539   756  1027    65    72    91   128   189   280 
##   V47   V48   V49  V410   V51   V52   V53   V54   V55   V56   V57   V58 
##   407   576   793  1064   126   133   152   189   250   341   468   637 
##   V59  V510   V61   V62   V63   V64   V65   V66   V67   V68   V69  V610 
##   854  1125   217   224   243   280   341   432   559   728   945  1216 
##   V71   V72   V73   V74   V75   V76   V77   V78   V79  V710   V81   V82 
##   344   351   370   407   468   559   686   855  1072  1343   513   520 
##   V83   V84   V85   V86   V87   V88   V89  V810   V91   V92   V93   V94 
##   539   576   637   728   855  1024  1241  1512   730   737   756   793 
##   V95   V96   V97   V98   V99  V910  V101  V102  V103  V104  V105  V106 
##   854   945  1072  1241  1458  1729  1001  1008  1027  1064  1125  1216 
##  V107  V108  V109 V1010 
##  1343  1512  1729  2000
mean(newobj2)
## [1] 605
sd(newobj2)
## [1] 463.4832