R教材4 高级数据管理

  1. 数值与字符处理函数
    1. 数学函数,对象非单个数值时,会作用于每个数值
      1. 绝对值abs()
      2. 平方根sqrt()
      3. 舍入小数round(,digits=)
      4. 对数
        1. log(x,base=n)以n为底
        2. log()以e为底
        3. log10()以10为底
      5. 指数exp(x),以e为底指数
    2. 统计函数na.rm=T,计算时移除NA;trim=0.05,去除了前后5%的数据再计算,当没有足够的数据时,不会去掉极值
      1. 均值mean()
      2. 标准差sd()
      3. 方差var()
      4. 分位数quantile(x,probs=c()),probs分位点
      5. 中心化、标准化scale(x,center=T,scale=T),标准化即z分数
    3. 概率函数
      1. 不同函数的前缀
        1. 密度函数d,即分布的y值
        2. 分布函数p,求面积,p-(z),标准分布下的面积
        3. 分位数函数q,q-(0.9分位点,……),某分布下的分位点0.9等
        4. 生成随机数r
      2. 分布
        1. 指数分布exp
        2. 对数分布logis
        3. 正态分布norm
        4. t分布t
        5. 均匀分布unif
      3. 设定随机数种子
        1. set.seed(x)……,x种子下的随机函数结果
    4. 字符处理函数
      1. 字符数量nchar()
      2. 提取或替换字符substr(对象,from,to)
      3. 在X中搜索模式grep(pattern,x,fixed=F),fixed=F模式为正则表达式,T模式为文本字符串
      4. 连接字符串paste(……,sep=""),sep每个连接的分隔
      5. toupper、tolower,大小写转换
    5. 其他函数
      1. 生成序列seq(from,to,by)
      2. 重复rep(x,n)
      3. 将连续变量分割为n个水平的因子cut(x,n),ordered_result=T创建有序因子
      4. 创建美观的分割点pretty(x,n),选取n+1个等间距的取整值
      5. 连接……中的对象,并将其输出到屏幕或文件上cat(……,file="",append=F),cat输出连接对象会对每个对象用空格分开,甚至是.,所以作为句号必须在前面加上\b
    6. 函数用于矩阵和数据框:
      1. 针对维度apply(x,margin,FUN),margin=1表示行,2表示列
      2. split(对象,分组属性),返回是列表;可以多重分组,用list()来标明
      3. apply:lapply、sapply、tapply只能针对一个属性的分组进行函数
        1. apply(X, MARGIN, FUN, ...),x是数组、矩阵(数据框);margin=1|2,对行|列操作;fun函数
        2. lapply(split,FUN)结合split使用,lapply针对列表中的每个元素使用fun,可以没有margin,返回列表
        3. sapply同上,返回的是更紧凑的格式
        4. tapply(对象,分组属性,FUN)简化了split函数,返回列表
    7. 控制流
      1. for(var in seq(from,to,by)) {}
      2. while(cond) {}
      3. 条件执行
        1. if(cond) …… else ……
        2. ifelse(cond,T-stat,F-stat),R语言特有,输出结果为向量,对每个向量中的元素进行判断
        3. switch(i,……),……是i的可能值绑定的语句
      4. 用户自编函数最好有一个表达式来捕获错误输入;所有的输出只能在函数中才有意义,所以用return
    8. 整合与重构
      1. 转置t()
      2. 整合aggregate(x, by, FUN, ..., ),x可以是多个属性的数据,by分组依据(相同分组属性值为一组),FUN是用来计算新观测中的值,by必须是list形式by=list(),by中的变量可以可以自定义名称;或者aggregate(a~b, x, FUN, ..., ),b为标识,a为整合量
      3. reshape2包
        1. 融合melt(x,id=c()),id即主键,结果是主键下的属性和属性值
        2. 重铸dcast(melt,formula,fun.aggregate),melt为已融合数据,formula为结果结构row1,……~col1,……,fun为数据整合函数(可选的)

猜你喜欢

转载自blog.csdn.net/u013103305/article/details/83409546