最近一段時間的R語言學習筆記,以便於自己學習之用,特記錄在博客中,感興趣的人還可以看看。記錄的東西也不一定正確,請大家指教,裏面可能會引用到一些別人的資料等,作為學習之用

讀書筆記

相關的函數記錄與整理

1、source(“文件名.r”):調取主程序的文件,在程序結構複雜的時候很有用,可以將一部分複雜的運算主程序放入其中。

2、install.packages(“fields”):安裝程序包

3、library(fields):導入程序包

4、t(x)轉置函數,對於csv中橫排的轉置很有用

5、dev.off():中斷函數

6、a <- as.character(b):因子型轉化為字符型函數

7、position <- regexpr(‘_’,a):regexpr()函數對字符的定位很有用,返回值position為特定字符,如字符串a中’_’的位置

8、結合定位函數,對字符串如x345_xbt,進行拆分,利用函數substring(要拆分的字符串,開始的字符位置,結束的字符位置)

namecol1 <- substring(a, 2, position – 1)

namecol2 <- substring(a, position + 1, nchar(a))

結合regexpr()函數,這兩個命令返回的值為,namecol1<-345;namecol2<-xbt;

9、合併向量data.frame(vetor1, vetor2, vetor3)

cbind(vetor1, vetor2, vetor3)

10、取名字相同的交集unique()函數

例如對包含行名的向量R1、R2、 R3取名字相同的行,組成新的向量。

nam1 <- rownames(R1)

nam2 <- rownames(R2)

nam3 <- rownames(R3)

tnam <- unique(c(nam1,nam2,nam3))返回結果為只剩下名字相同的行的數值和rownames

或者取一個向量中唯一一個值的數據,合併重複數據。unique(x, incomparables = FALSE, …)在R中三個點…,表示可傳遞參數

11、對程序包裏面的具體的函數源代碼,通過安裝包后直接輸入函數名回車,可以看到函數;注意找到對應的子函數。也可以在R鏡像網頁中的packages中,下載package的數據包,減壓后,看文件夾得R函數中,這個包含程序註釋,更好。

12、t檢驗函數

t.test(x, …)

## Default S3 method:

t.test(x, y = NULL,alternative = c(“two.sided”, “less”, “greater”), mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95, …)

## S3 method for class ‘formula’

t.test(formula, data, subset, na.action, …)

13、對於一個向量x中選擇某個符合條件的數值出來(大於某個數或者是某個條件limit),直接利用表達式y<-x[,1][判斷語句或者limit函數參數,在外部設定limit值]

14、判斷兩個向量的交集部分選擇%in%

1:10 %in% c(1,3,5,9)

15、幫助已經加載的程序包有哪些函數,可以用主界面的help>html幫助

16、regression with damped exponential correlation回歸的函數為rdec(),需要的函數包為RDEC

17、相關常用的R運算

計算

log(x)

log10(x)

exp(x)

sin(x)

cos(x)

tan(x)

asin(x)

acos(x)

min(x)

max(x)

range(x)

length(x)

統計檢驗

mean(x)

sd(x)

var(x)

median(x)

quantile(x,p)

cor(x,y)

t.test()

lm(y ~ x)

wilcox.test()

kruskal.test()

統計檢驗

lm(y ~ f+x)

lm(y ~ x1+x2+x3)

bartlett.test

binom.test

fisher.test

chisq.test

glm(y ~ x1+x2+x3, binomial)

friedman.test

18、ls() 列出工作空間中的對象;rm() 刪除工作空間中的對象

19、對象類型轉換

as.numeric() #轉換為數值型

as.logical()

as.charactor()

as.matrix()

as.dataframe()