博客 / 詳情

返回

R語言常用函數整理(包括基本對象處理、字符處理、數學、統計函數)

Functions in R

處理數據對象的函數

  • length(object)

    • 顯示對象中元素/成分的數量
  • dim(object)

    • 顯示某個對象的維度
  • str()

    • 顯示某個對象的結構
  • class()

    • 顯示某個對象的類或類型
  • mode()

    • 顯示某個對象的模式
  • names()

    • 顯示某對象中各成分的名稱
  • c(object, object, ...)

    • 將對象合併入一個向量
  • cbind(object, object, ...)

    • 按列合併對象
  • rbind(object, object, ...)

    • 按行合併對象
  • head()

    • 列出數據框的前6行
  • tail()

    • 列出數據框的最後6行
  • ls()

    • 顯示當前的對象列表
  • rm(object, object, ...)

    • 刪除一個或多個對象
    • 語句rm(list = ls())將刪除當前工作環境中的幾乎所有對象
  • newobject <- edit(object)
  • fix(object)

數學函數

  • abs(x)

    • 絕對值
  • sqrt(x)

    • 平方根
  • ceiling(x)

    • 不小於x的最小整數
  • floor(x)

    • 不大於x的最大整數
  • trunc(x)

    • 向0的方向截取的x中的整數部分
  • round(x, digits=n)

    • 將x四捨五入到n位小數
  • signif(x, digits=n)

    • 將x四捨五入到n位有效數字
    • 注意這裏的有效數字包括整數位(要和round函數區分開)
  • 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為底的對數
    • log(10)返回值為2.3026
    • 方便起見

      • log(x)為自然對數
      • log10(x)為常用對數
  • exp(x)

    • 指數函數
    • exp(2.3026)返回值為10

統計函數

  • mean(x)

    • 平均值(期望值)
  • median(x)

    • 中位數
  • sd(x)

    • 標準差
  • var(x)

    • 方差
  • mad(x)

    • 絕對中位差
  • quantile(x, probs)

    • 分位數
    • 參數

      • x表示待求分位數的數值型向量(也就是原始數據)
      • probs為一個[0,1]之間的概率值組成的數值向量(例如probs=c(0.25,0.5,0.75)表示分別求出0.25,0.5,0.75分位數)
  • range(x)

    • 值域
    • 例如若x<-c(1,2,3,4),那麼range(x)返回值為c(1,4)diff(range(x))返回值為3
  • sum(x)

    • 求和
  • diff(x, lag=n)

    • 滯後差分
    • lag用於指定滯後幾項(lag默認為1)
  • min(x)

    • 最小值
  • max(x)

    • 最大值
  • scale(x, center=TRUE, scale=TRUE)

    • 默認為數據對象x按列進行均值為0、標準差為1的中心化(center=TRUE)或標準化(center=TRUE, scale=TRUE)
    • 要對每一列進行任意均值和標準差的標準化,可以mydata<-scale(data)*SD+M

      • 其中M是想要的均值
      • SD為想要的標準差
    • 在非數值型的列上用scale函數會報錯
    • 如果要對指定列而不是整個數據框的所有列進行標準化,可以用$符號進行數據框列的選擇

概率函數

  • 概率函數通常用來生成特徵已知的模擬數據,以及在用户編寫的統計函數中計算概率值
  • 概率函數中的第一個字母

    • d(density)

      • 密度函數
    • p(distribution function)

      • 分佈函數
    • q(quantile function)

      • 分位數函數
    • r(random number)

      • 生成隨機數(隨機偏差)
  • beta

    • beta分佈
  • binom

    • 二項分佈
  • cauchy

    • 柯西分佈
  • chisq

    • (非中心)卡方分佈
  • exp

    • 指數分佈
  • f

    • F分佈
  • gamma

    • gamma分佈
  • geom

    • 幾何分佈
  • hyper

    • 幾何分佈
  • lnorm

    • 對數正態分佈
  • logis

    • Logistic分佈
  • multinom

    • 多項分佈
  • nbinom

    • 負二項分佈
  • norm

    • 正態分佈
    • 均值和標準差默認為0和1(標準正態分佈)
    • 相關函數

      • dnorm(x)
      • pnorm(x)
      • qnorm(x)
      • rnorm(x)
  • pois

    • 泊松分佈
  • signrank

    • Wilcoxon序號秩分佈
  • t

    • T分佈
  • unif

    • 均勻分佈
  • weibull

    • Weibull分佈
  • wilcox

    • Wilcoxon秩和分佈

字符處理函數

  • nchar(x)

    • 計算x中的字符數量
  • substr(x, start, stop)

    • 提取或替換一個字符向量中的字串
    • 例如:

      • substr(x,2,4)返回"bcd"
      • substr(x,2,4) <- "22222"返回"a222ef"
  • sub(pattern, replacement, x, ignore.case=FALSE, fixed=FALSE)

    • 在x中搜索pattern,並用文本replacement替換
    • 若fixed=FALSE,則pattern為正則表達式,否則為文本字符串
  • strsplit(x, split, fixed=FALSE)

    • 在split處分割字符向量x中的元素
    • 若fixed=FLASE,則pattern是一個正則表達式,否則為一個文本字符串
  • paste(..., sep="")

    • 連接字符串,分隔符為sep
    • 例如:paste("x", 1:3, sep = "M")會返回c("xM1", "xM2", "xM3")
  • toupper(x)

    • 大寫轉換
  • tolower(x)

    • 小寫轉換

其他實用函數

  • seq(from, to, by)

    • 生成一個序列
  • rep(x, n)

    • 將x重複n次
  • cut(x, n)

    • 將連續型變量x分割為有n個水平的因子
    • 使用參數ordered_result = TRUE創建一個有序性銀子
  • pretty(x, n)

    • 創建美觀的分割點
    • 通過選取n+1個等間距的取整值,將一個連續型變量x分割為n個區間
    • 繪圖中常用
  • cat( )

    • 鏈接對象並輸出到屏幕上或文件中

參考資料:《R語言實戰(第2版)》[美]Robert I. Kabacoff 著,王小寧 等 譯

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.