1. 程式人生 > >R教材5 統計

R教材5 統計

  1. summary(),統計描述,因子向量和邏輯向量的頻數統計,包括缺失值統計,同樣作用的有
    1. Hmisc包中的describe()
    2. pastecs包中的stat.desc()
    3. psych包中的describe()
    4. 多個包中有相同名的函式,執行最後載入的,可用包名::函式()來使用
  2. 分組計算描述性統計量
    1. aggregate(x,by,FUN),單返回值函式
    2. by(x,indices,FUN),indices分組因子列表list,可以返回多個值
    3. 分組計算的拓展
      1. doBy包中的summaryBy(formula,data=dataframe,FUN),其中formula可以是y~x,y是數值型變數,x是類別型分組變數
      2. psych包中的describeBy(dataframe,list(x)),不允許指定任意函式,適普性較低,且分組變數交叉後不出現空白單元格時才有效
  3. 頻數表和列聯表:類別型變數,交叉的分類
    1. 頻數統計表table()、prop.table()(其中的margins=1為按行計算、=2為按列計算)
      1. 二維列聯表table(row,col)
      2. xtabs(formula,data),公式風格建立列聯表,formula是~A+B,交叉分類變數在~右邊
      3. margin.table()其中的margins=1代表按行新增邊際列表,=2為按列新增邊際列表
      4. 前面複雜的方法可以用addmargins()來為表格新增邊際和
      5. table()預設忽略缺失值NA
    2. 多維列聯表ftable()
    3. 獨立性檢驗
      1. 卡方獨立性檢驗:chisq.test()對二維表的行列進行獨立性檢驗,用卡方,H0:獨立
      2. Fisher精確檢驗:fisher.test(),H0:邊界固定的列聯表中的行列是相互獨立的,R中的Fisher檢驗必須用於行列數>=2,但不能2*2
      3. mantelhaen.test(),H0:兩個名義變數在第三個變數的每一個水平下都是條件獨立的
    4. 相關性度量:獨立性的檢驗後,必須要相關性的檢驗檢視相關性
      1. vcd包中的assocstats
  4. 相關
    1. 相關的型別
      1. Pearson相關:兩個定量變數之間的線性相關程度
      2. Spearman相關:分級定序變數間的相關程度
      3. Kendall's Tau相關:非引數的等級相關度量
    2. 相關函式cor(),協方差cov()
      1. cor(x,use=,method=)
        1. use=:
          1. all.obs遇到缺失資料時報錯
          2. everything遇到缺失資料時將結果設為missing,預設
          3. complete.obs行刪除
          4. pairwise.complete.obs成對刪除
        2. method=:
          1. pearson,預設
          2. spearman
          3. kendall
    3. 偏相關ggm包中的pcor(u,S),u是數值向量,前兩個數值是計算相關係數的變數下標,其他為排除影響的變數,S為變數的協方差矩陣cov(dataframe)
      1. psych包中的pcor.test(r,q,n)偏相關檢驗,r是由pcor()計算得到的偏相關係數,q是控制的變數數值位置,n為樣本大小
    4. 相關性的顯著性檢驗cor.test(x,y,alternative=,method=),H0:不相關,只能檢驗一對
      1. alternative=
        1. two.sided雙側,預設
        2. less或greater單側
      2. method=pearson,……
      3. psych包中的corr.test(x,use="",method=“”),多個變數的檢驗
        1. use=
          1. pairwise成對刪除
          2. complete行刪除
  5. t檢驗:樣本間是否有差別,R中的t檢驗預設方差不相等,var.equal=T假定方差相等且可用合併方差估計,預設雙側檢驗,H0:=
    1. 獨立樣本t.test(y~x,data),y是數值型變數,x是二分變數
      1. t.test(y1,y2),y1、y2是數值型向量
    2. 非獨立樣本t檢驗,假定組間的差異呈正態分佈t.test(y1,y2,paired=T)
    3. 多於兩個組之間的比較用ANOVA方差分析
  6. 組間差異的非引數檢驗,當資料不能確定分佈時,用非引數
    1. 兩組比較
      1. 資料獨立wilcox.test(y~x,data)、wilcox.test(y1,y2)
      2. 資料不獨立wilcox.test(……,paired=T)
    2. 多於兩組的比較,均值的多重比較,控制第1類錯誤的重複疊加
      1. 資料獨立kruskal.test(y~A,data),y是數值結果變數,A是一個擁有多個水平的分組變數
      2. 資料不獨立friedman.test(y~A|B,data),y是數值型結果變數,A是分組變數,B是區組變數