美文网首页
R语言实战

R语言实战

作者: 豆沙了 | 来源:发表于2020-09-14 22:05 被阅读0次

    https://github.com/kabacoff/RiA2

    第一部分 入门
    第1章 R语言介绍

    load(".RData")
    source("filename")   # 执行一个脚本
    .libPaths()   # 显示库所在位置
    library()   # 显示库中有哪些包
    search()   # 哪些包已加载
    help(package = "vcd")   # 某个包的简短描述
    

    第2章 创建数据集

    data.frame()   # 创建数据框
    patientdata[c("diabetes","status")]   # 选取数据框中的列
    # 函数with
    with(mtcars,{
      print(summary(mpg))
      plot(mpg,disp)
      plot(mpg,wt)
    })
    特殊赋值符 <<-
    patientdata <- data.frame(patientID, age, diabetes, status, row.names=age)
    sex <- factor(sex, levels = c(1,2), labels = c("male","female"))
    str()   # 显示对象结构
    summary()   # 显示对象的统计概要
    class()   # 显示对象类型
    # 列表
    mylist <- list(title=g, ages=h, j, k)
    mylist[[2]]
    mylist[["ages"]]
    mylist$ages
    

    第3章 图形初阶

    library(RColorBrewer)
    # 复制一份当前的图形参数设置
    opar <- par(no.readonly=TRUE)
    par(pin=c(2, 3))
    par(opar)
    par(ask=TRUE)   # 按<Return>键来看下一个图
    axis(2, at=x, labels=x, col.axis="red", las=2)   # 自定义坐标轴
    # 文本标注
    text(wt, mpg,
         row.names(mtcars),
         cex=0.6, pos=4, col="red")
    text(3,3,"Example of default text")
    # 图形组合
    par(mfrow=c(2,2))
    layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))
    

    第4章 基本数据管理

    mydata <- transform(mydata,
                        sumx = x1 + x2,
                        meanx = (x1 + x2)/2)   # 增加列
    names(leadership)[2] <- "testDate"   # 列名修改
    leadership[age == 99, "age"] <- NA
    leadership$age[leadership$age == 99] <- NA
    newdata <- na.omit(leadership)
    # 排序
    newdata <- leadership[order(leadership$age),]
    newdata <- leadership[order(gender, age),]
    newdata <- leadership[order(gender, -age),]
    
    cbind()   # 数据框横向合并
    rbind()   # 纵向合并
    # 剔除变量
    myvars <- names(leadership) %in% c("q3", "q4") 
    leadership[!myvars]
    newdata <- leadership[c(-8,-9)]   # 已知变量位置
    # subset选择
    newdata <- subset(leadership, age >= 35 | age < 24,
                      select=c(q1, q2, q3, q4))
    newdata <- subset(leadership, gender=="M" & age > 25,
                      select=gender:q4)
    

    第5章 高级数据管理

    set.seed(1234)
    runif(5)
    x <- pretty(c(-3,3),30)   # 连续分割为30个区间(31个数)
    apply(mydata, 1, mean)   # 计算每行均值
    # 分列
    name <- strsplit((roster$Student), " ")   # 返回列表
    Lastname <- sapply(name, "[", 2)
    Firstname <- sapply(name, "[", 1)
    # 整合数据
    aggdata <-aggregate(mtcars, by=list(cyl,gear), 
                        FUN=mean, na.rm=TRUE)   #   cyl,gear归类,其他列求平均值 
    # reshape2 包
    melt, dcast
    
    scale(mydata)*SD+M   # 任意均值和标准差的标准化
    # 概率函数
    d = 密度函数(density)
    p = 分布函数(distribution function)
    q = 分位数函数(quantile function)
    r = 生成随机数(随机偏差)
    
    nchar()   # 字符数量
    substr(x,2,3) <- "aa"   # 替换
    grep, sub   # 搜素某个文本字符串或正则表达式
    seq(1,10,2)
    for (i in 1:10) print("hello")
    if (cond) stat1 else stat2
    

    第二部分 基本方法
    第6章 基本图形

    paste(lbls, pct)   # 合并两个向量
    hist(mtcars$mpg, breaks=12)   # 指定组数
    
    # 轴须图
    # 可比较的核密度图 P121 代码清单6-8
    # 箱线图
    boxplot.stats()
    # 小提琴图
    # 点图
    

    第7章 基本统计分析

    sapply(mtcars[myvars],fivenum)   # 多列
    fivenum()   # 返回最小值 下四分位数 中位数 上四分位数 最大值
    var()   # 样本方差
    多种R包计算描述性统计量
    # 一维
    table()   # 默认忽略NA
    prop.table(mytable) 
    prop.table()*100
    # 二维
    table(A,B)
    xtabs(~A+B,data=)
    addmargins()   # 边际和
    # 独立性检验
    chisq.test()   # 卡方独立性检验
    fisher.test()   # Fisher精确检验
    mantelhaen.test()   # Cochran-Mantel—Haenszel检验
    # 相关
    cor()
    cov()   # 协方差
    pcor()   # 偏相关
    corr.test()   # psych包 显著性检验
    pcor.test()
    
    
    

    相关文章

      网友评论

          本文标题:R语言实战

          本文链接:https://www.haomeiwen.com/subject/dzrtyktx.html