R語言 資料的基本運算

2022-05-18 08:17:00 字數 3288 閱讀 3973

一、基本運算符號

1、基本數學計算

+、-、*、/、^、%%(求模)、%/%(整除)

注意:求模運算兩邊若為小數,則整數和小數部分分別求模。例:5.6%%2.2

2、比較運算

3、邏輯運算

&、|、!、&&、||、xor

注意:運算子「邏輯與」和「邏輯或」存在兩種形式,「&」和「|」作用在物件中的每乙個元素上並且返回和比較次數相等長度的邏輯值;「&&」和「||」只作用在物件的第乙個元素上。

xor為異或,兩值不等為真,兩值相等為假。例:xor(0, 1)

4、常見運算函式

abs、sqrt、exp、log、log10、log2

sin、cos、tan、asin、acos、atan、atan2

choose(n, k)    #n個裡面取k個的組合數

計算n!的方法:factorial(n); gamma(n+1); prod(1:n)

sign(x)    #返回x的正負號

二、r中計算的兩個特點

1、向量化(逐個元素迴圈操作)

例:y=1:10; y+1; sqrt(y);

2、兩個不等長的變數迴圈填充

例:x=1:3; y=1:10; z=x+y

注意:當兩個變數長度不是整倍數的關係,會有警告資訊。

三、向量常用統計函式

max、min、range(返回最小、最大兩個值)、sum、prod(連乘π)、mean、median(中位數)、var、sd、length、rev(取逆序)

which.max、which.min:返回最大、最小值的下標

which:返回符合條件元素的下標

x=matrix(1:20,4,byrow=t);

which(x > 8)    #返回乙個向量

which(x > 8, arr.ind=t)    #返回乙個指示行列號的矩陣

diff:差分,即x[i+1]-x[i]

cumsum:計算x[i]=sum(x[1]:x[i])

cumprod:計算x[i]=prod(x[1]:x[i])

sort、rank、order:參見

quantile(x, probs=)    #預設probs為c(0, .25, .5, .75, 1)

例:x=0:100; quantile(x); quantile(x, probs=seq(0, 1, 0.1))

iqr:四分位數間距

summary:給出常見統計量,包括四分位數、最小、最大和中位數

weighted.mean(x, y)    #加權平均,等同於sum(x*y)/sum(y)

cov、cor:兩向量的協方差和線性相關係數

#可使用引數 method = c("pearson", "kendall", "spearman"))指定計算方法,預設第一種。

#方法名稱可使用首字母縮寫

table(x)    #當x為定性資料時,統計x的頻數

table(x,y,z)    #輸出由x、y、z三個定性變數組成的列聯表

ftable(x,y,z)    #以多重巢狀二維表的形式輸出有x、y、z三個定性變數組成的列聯表

nchar(x)    #x為字串,求x的字元個數

例:x=c("china", "english", "amercia"); nchar(x);

match(x,y)    #再y中逐個查詢x,若有返回在y中匹配的位置,若無返回na

all、any    #分別報告各元素是否全部或至少乙個為true

四、矩陣常用函式

t:轉置(行列互換)

diag:提取對角元素,輸出為乙個向量

rbind、cbind:按行合併、按列合併,可合併若干向量,也可合併若干矩陣

*:逐元乘積

%*%:代數乘積

crossprod:交叉乘積

det:矩陣的行列式值

eigen:特徵根和特徵向量

qr:qr分解

scale:對矩陣進行中心化和標準化

集合運算

union(x,y)    #求並集

intersect(x,y)    #求交集

setdiff(x,y)    #求屬於x而不屬於y的所有元素

setequal(x,y)    #判斷x與y是否相等

a %in% y    #判斷a是否為y中的元素

choose(n, k)    #n個裡面取k個的組合數

combn(x,n)    #x中的元素每次取n個的所有組合

combn(x,n,f)     #將這些組合用於指定函式f

附:峰度和偏度的計算

r預設不提供函式計算這兩個值。

如果需要計算,可以自編公式或者使用fbasics包。

載入fbasics包,可使用以下命令進行計算:

skewness(x)    #偏度

kurtosis(x)    #峰度

basicstates(x)    #提供16個統計量

> x=rnorm(1000

)>basicstats(x)

xnobs

1000.000000

nas

0.000000

minimum -3.263744

maximum

3.462402

1. quartile -0.706243

3. quartile 0.652421

mean -0.043407

median

0.003339

sum -43.406637

se mean

0.031843

lcl mean -0.105894

ucl mean

0.019081

variance

1.014007

stdev

1.006979

skewness -0.029121

kurtosis -0.179738

R語言2 資料型別和基本運算

目錄 r語言2 資料型別和基本運算 1.r的資料型別 1 logical 邏輯型 只有兩個值true,false 2 numeric 數字 整數 小數等 3 complex 複合型 帶有虛數i的數,如1 2i 4 character 字元 包含在 之中,如 hello!5 vectors向量 c 函...

R語言資料轉矩陣 矩陣運算

將txt讀取 data read.table ex12 11.txt header t data infant age weight systolicbp 1 1 3 2.61 80 2 2 4 2.67 90資料轉矩陣 m as.matrix data m infant age weight sy...

R語言與資料分析 R語言的基本原理

1 r 是一種解釋型語言,這就意味著輸入的命令能夠直接被執行,而不需要像一些語言首先構成乙個 完整的程式形式 2 合法的r函式總是帶有圓括號的形式,即使括號內沒有內容 ls 帶有圓括號 也是 與物件作為區別的乙個標誌 3 當r執行時,所有變數,資料,函式及結果都以物件 objects 的形式存在計算...