1. 程式人生 > >R語言—R語言常用語法

R語言—R語言常用語法

R語言常用語法

1、R語言建立向量和矩陣

(1)、c()

用c()來建立一個向量

例:建立向量x1與x2

> x1 = c(1,3,5,7,9)
> x1
    [1] 1 3 5 7 9
> x2 = c(0,2,4,6,8)
> x2
    [1] 0 2 4 6 8
> 

(2)、length()

用length()來求一個向量的長度

例:

> length(x1)
    [1] 5
> length(x2)
    [1] 5
> 

(3)、mode()

用mode()來顯示資料型別

例:

> mode(x1)
    [1] "numeric"
> mode(x2)
    [1] "numeric"
> 

基本資料結構型別有:

  1. numeric 數值型

  2. complex 複數型

  3. character 字元型

  4. logical 邏輯型

(4)、rbind()

用rbing()可以把x1和x2以行的形式組合成矩陣

例:

> rbind(x1,x2)
    [,1] [,2] [,3] [,4] [,5]
    x1    1    3    5    7    9
    x2    0    2    4    6    8
> 

(5)、cbind()

用cbing()可以把x1與x2以列的形式組合成矩陣

例:

cbind(x1,x2)
x1 x2
[1,] 1 0
[2,] 3 2
[3,] 5 4
[4,] 7 6
[5,] 9 8

2、R語言求平均值、和、連乘、最值、方差、標準差

函式為:mean(),sum(),prod(),min(),max(),var(),sd()

例:1:100是指1到100公差為1的等差數列

在R語言中,區分大小寫

mean(x)求平均值

例:

> x = c(1:10)
> x
[1]  1  2  3  4  5  6  7  8  9 10
> mean(x)
[1] 5.5
> 

sum(x)求和

例:

> sum(x)
[1] 55
> 

prod(x)求連乘

例:

> prod(x)
[1] 3628800
>

min(x)求最小值

例:

> min(x)
[1] 1
> 

max(x)求最大值

例:

> max(x)
[1] 10
>

var(x)求方差

例:

> var(x)
[1] 9.166667
>

sd(x)求標準差

例:

> sd(x)
[1] 3.02765
>

3、幫助函式help()

例:

help()

4、操作向量

(1)顯示1到10公差為1的數列

> 1:10

(2)數列都減1後顯示

> 1:10-1

(3)數列先乘以2再加上1後顯示

2:10*2+1

(4)先賦值後顯示

> x3 = 2:10*2+1
> x3

(5)顯示下標為3的數

> 3[3]

(6)下標為3的不顯示

> x3[-3]

(7)顯示下標為1到3的數

> x3[1:3]

(8)下標為1到3的數不顯示

>x3[-(1:3)]

(9)顯示下標為1,3,5的數

> x3[c(1,3,5)]

(10)把元素值小於10的數顯示出來

> x3[x3<10]

(11)把元素值大於10小於15的數顯示出來

> x3[x3>10 & x3<15]

(12)把x3[2]的數顯示出來

> x3[x3[2]]

5、seq()函式

(1)顯示1到20且公差為1的數

> seq(1,20)

(2)顯示1到20且公差為2的數

> seq(1,20,by=2)

(3)顯示3到10的3個數,相當於對線段3到10進行3-1等分

> seq(3,10,length=3)

6、letters()函式

產生字母序列
例:

> letters[1:30]

7、which()函式

> which.max(a)顯示最大數的最後一個的下標

> which.min(a)顯示最小數的最後一個的下標

> a=c(2,3,5,4,9,7,5,3,1,2,5,4,2,3)
> a[ which.max(a)]

> a[ which.min(a)]顯示數列中最小的數

> a[which.max(a)]顯示數列中最大的數

> which(a==2)顯示資料為2的下標

> a[which(a==2)]

> which(a>5)顯示資料大於5的下標

> a[which(a>5)]

8、rev()函式

rev()函式可以向量顛倒

9、sort()函式

sort()函式可以使資料從小到大排列

10、生成矩陣

函式matrix()
nrow表示行,ncol表示列,且排列是按列的順序時行排,且byrow預設為false,為true時表示為按行進行排列

11、矩陣運算

(1)、函式t()

函式t()的作用相當於行列置換

(2)、矩陣加減

矩陣加減要求行列相同

(3)、矩陣相乘

> a%*%b

(這個沒有計算是否正確,簡單的二階相乘,誰想測可以測一下,求證)

(4)、函式diag()

求出方陣對角線的元素

diag(diag(x))表示對角線矩陣

diag(3)表示生成為3階的單位矩陣

(5)、函式rnorm()

rnorm()函式表示以正太分佈的形式產生隨機數

(6)、solve()

solve()函式表示求逆矩陣

而且solve()函式可以解方程組

(覺得高數還可以,可以進行測試看看是否正確,求證)

12、矩陣的特徵值與特徵向量

函式eigen()可以求出矩陣的特徵值和特徵向量