R 高级数据管理

student<-c("John Davis","Angela williams","Bullwinkle Moose","David Jones","Janice Markhammer","Cheryl Cushing","Reuven Ytzrhak","Greg Knox","Joel England","Mary Rayburn")
math<-c(502,600,412,358,495,512,410,625,573,522)
science<-c(95,99,80,82,75,85,80,95,89,86)
english<-c(25,22,18,15,20,28,15,30,27,18)

roster<- data.frame(student,math,science,english,stringAsFactors=FALSE)
z<-scale(roster[,2:4])
z
score <- apply(z,1,mean)
roster<-cbind(roster,score)
y<-quantile(score,c(.8,.6,.4,.2))
roster$grade[score>=y[1]]] <- "A"
roster$grade[score<y[1] & score >=y[2]]] <- "B"
roster$grade[score<y[2] & score >=y[3]]] <- "C"
roster$grade[score<y[3] & score >=y[4]]] <- "D"
roster$grade[score<y[4]]] <- "F"
roster
#数学和统计函数
    #数学函数
        #abs(x)
        #sqrt(x)
        #ceiling(x)  #不小于x的最小整数
        #floor(x)    #不大于x的最大整数
        #trunc(x)    #取x的整数部分
        #round(x,digits=n)  #四舍五入 n表示小数点后的保留位数
        #signif(x,digits=n) #四舍五入 n表示有效位个数,从高位起算。
        #cos(x) sin(x) tan(x)        #余弦、正弦、正切
        #acos(x) asin(x) atan(x)     #反(余弦、正弦、正切)
        #cosh(x)  sinh(x)  tanh(x)   #双曲 (余弦、正弦、正切)
        #acosh(x) asinh(x) atanh(x)  #反双曲 (余弦、正弦、正切)
        #log(x, base=n)              #对x求以n为低的对数
        #exp(x)
  
    #统计函数
        #mean(x)    #平均数
        #Median(x)  #中位数
        #sd(x)      #标准差
        #var(x)     #方差
        #mad(x)     #绝对中位差
        #quantile(x,probs)  #求分数位
        #range(x)   #求值域
        #sum(x)     #求和
        #diff(x,lag=n)  #滞后差分
        #min(x)     #求最小值
        #max(x)     #求最大值
        #scale(x,center=TRUE,scale=TRUE)  #为对象x按列进行中心化或标准化

#常用概率统计
    #beta分布      beta
    #二项式分布    binom
    #柯西分布      cauchy
    #卡方分布      chisq
    #指数分布      exp
    #F分布         f
    #Gamma分布     gamma
    #几何分布      geom
    #超几何分布    hyper
    #对数正态分布  lnorm
    #Logistic分布  logis
    #多项式分布    multinom
    #负二项分布    nbinom
    #正态分布      norm
    #泊松分布      pois
    #Wilcoxon符号秩序分布  signrank
    #t分布         t
    #均匀分布      unif
    #Weibull分布   weibull
    #Wilcoxon秩和分布    wilcox

#字符处理函数
    #nchar(x)  #计算x中的字符数量
    #substr(x,start,stop) #提取字串
    #grep(pattern,x,ignore.case=FALSE,fixed=FALSE)  #在x中搜索某种模式,
    #sub(pattern,replacement,x,ignore.case=FALSE,fixed=FALSE)
    #strsplit(x,split,fixed=FALSE)  #在split分割向量x
    #paste(...,sep="")   #连接字符串,分隔符是 sep
    #toupper(x)   大写转换
    #tolower(x)   小写转换

#其他实用函数
    #lenth(x)
    #seq(from,to,by) #生成一个序列
    #rep(x,n)  #将x重复n次
    #cut(x,n)  #将连续型变量x分割成有着n个水平的银子
    #pretty(x,n) #闯将完美分割点,通过选取n+1个等间距的取整值,将一个连续型变量x分割为n个区间,
    #cat(...,file="myfile",append=FALSE)  # 连接。。。中的对象,并输出到屏幕上或文件中
x<-pretty(c(-3,3),30)
y<-dnorm(x)
plot(x,y,type="l",xlab="NormalDeviate",ylab="Density",yaxs="i")

#循环和条件执行
    #for
    # for (var in seq) statement
    for (index in 1:10) print (index)
    for (index in c(1,2,3,9)) print (index)

    #while
    # while (condition) statement
      i <- 10
      while (i > 0) 
      {
        print (i)
        i <- i - 1
      }

    
    #条件
    if (condition) statment
    if (condition) statment1 else statment2
    ifelse(condition,statement1,statement2)

    #分支
    switch(expr,...)
    feelings <-c("sad","afraid")
    for(i in feelings)
      print (
        switch(i,
               happy= "I am glad you are happy",
               afraid = "There is nothing to fear",
               sad = "Cheer up",
               angry = "Calm down now"
               )
        )
    


#自编函数
    #myfuntion <- function(arg1,arg2,...)  #有缺省值的参数必须放到最后
    #{
    #  statements
    #  return (object)
    #}




#数据整合与重塑
    #待研究


你可能感兴趣的:(R 高级数据管理)