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 著,王小寧 等 譯