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" >
基本資料結構型別有:
numeric 數值型
complex 複數型
character 字元型
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()
可以求出矩陣的特徵值和特徵向量