一起学习R软件吧——R软件的使用
R軟件的使用
- 前言
- 數字、字符與向量
- 基礎運算
- 產生有規律的序列
- 向量下標運算
- 對象和它的模式屬性
- 因子
- 結語
前言
Hello CSDN! 第一次寫CSDN博文,感覺和其他的博客寫作方式很不一樣,之前一直是膜拜其他文章。馬上要考試R語言了,想通過CSDN記錄我的復習過程,可能有許多不足的地方,希望大家多多指教!
數字、字符與向量
基礎運算
哈哈哈哈好有意思,用CSDN寫文章好高級:
#向量的賦值 x = c(1,2,3,4,5) #法一,我最喜歡這個辦法 assign("x1",c(1,2,3,4,5)) #法二 c(1,2,3,4,5) -> x2 #法三 y=c(x,0,0,x1) #定義y有12個分量,兩邊分別是變量x,x1中間是倆0運行結果: (^ ~ ^) 高亮
對于向量的運算,記錄幾個常見的:
運行結果:
下邊時與一些與向量運算有關的函數,由于復習要查漏補缺,所以就放這些啦
運行結果:
產生有規律的序列
哇哦,第一次使用文本有些激動。下面我就要學習如何去快速生成有規律的序列啦,真是前人栽樹,后人乘涼。
#等差數列 > 3.14:6 [1] 3.14 4.14 5.14 > 3:7.6 [1] 3 4 5 6 7 > 2*1:4 #等差運算優于乘法運算 [1] 2 4 6 8 > 1:7-1 [1] 0 1 2 3 4 5 6 > 1:(7-1) [1] 1 2 3 4 5 6 #間隔數列 > seq(-5,5,by=.2)[1] -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 -3.8 -3.6 -3.4 -3.2 [11] -3.0 -2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2 [21] -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 [31] 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 [41] 3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8 [51] 5.0 > seq(length=51,from = -5,by=.2)[1] -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 -3.8 -3.6 -3.4 -3.2 [11] -3.0 -2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2 [21] -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 [31] 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 [41] 3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8 [51] 5.0 > #重復函數 > rep(x,2)[1] 1 2 3 4 5 1 2 3 4 5 > x>3 > [1] FALSE FALSE FALSE TRUE TRUEis.na()檢測缺失數據
is.nan()檢測數據是否不確定
is.finite()檢測數據是否有限
is.infinite()檢測數據是否無窮
paste( )可以把其自變量連成一個字符串,并用空格隔開
#復數向量 x=seq(-pi,pi,by=pi/10) y=cos(x) z=complex(re=x,im=y) plot(z) lines(z)對于復數運算
Re()計算實部,Im()計算復數的虛部,Mod()計算復數的模,Arg()計算復數的幅角
向量下標運算
學習到這里,我決定休息一下,用一個清醒的大腦去進行下標運算的學習。
> x=c(1,6,3,5) > x[3] [1] 3 > x+5 [1] 6 11 8 10 > x=c(1,6,3,5) > x[3] [1] 3 > x+5 [1] 6 11 8 10 > (x+5)[2] [1] 11 > x[c(1,3)]=c(123,456) > x [1] 123 6 456 5將向量中缺失數據賦為0,我覺得這個在數據預處理的時候挺有用,get一個小技巧。
> #邏輯向量 > z=c(2,3:5,NA) > z [1] 2 3 4 5 NA > z[is.na(z)]=0 > z [1] 2 3 4 5 0定義分段函數
> x [1] 2 -6 3 > y=numeric(length(x)) #產生數值型向量 > y [1] 0 0 0 > y[x<0]=1-x[x<0] > y[x>=0]=1+x[x>=0] > y [1] 3 7 4下邊的也是一些基礎向量下標操作,這里的A是字符串呦。
> #運算 > v=c(1:10) > v[1:4] [1] 1 2 3 4 > v[c(1,4,5)] [1] 1 4 5 > v[-(1:5)] [1] 6 7 8 9 10 > #定義向量還可以給元素加名字呦 > score=c(A=99,B=200,C=30) > scoreA B C 99 200 30 > score["B"]B 200 > #也可以之后在定義 > age=c(1,2,3) > names(age)=c('A','B','C') > age A B C 1 2 3對象和它的模式屬性
R語言是一種基于對象的語言,R對象分為單純對象和復合對象兩種,單純對象是所有元素都是同一種基本類型(如數值、字符串),but元素不在是對象;復合對象元素可以是不同類型的對象,每一個元素是對象。
固有屬性: mode和length
向量類型: logical(邏輯型)、numeric(數值型)、complex(復數型)、character(字符型)等
z=1:5
is.character(z) #判斷是否為某類型
[1] FALSE
as.character(z) #強制轉換
[1] “1” “2” “3” “4” “5”
score=c(A=99,B=200,C=30)
attributes(score)
$names
[1] “A” “B” “C”
#更換屬性
attr(score,“names”)=c(“z”,“x”,“c”)
attr(score,“type”)=“student”
score
z x c
99 200 30
attr(,“type”)
[1] “student”
attributes(score)
$names
[1] “z” “x” “c”
$type
[1] “student”
因子
factor()函數 把向量編碼成一個因子
table()可以對因子進行計數
tapply() 可以實現分組計算
gl()可以方便的產生因子
其中gl()函數的參數如下:
結語
感謝大家能夠看到這里,距離R語言考試還有7天,一周從入門到考試實戰,擼起袖子加油干!
總結
以上是生活随笔為你收集整理的一起学习R软件吧——R软件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言航空订票系统课程设计
- 下一篇: Docker - 在CentOS 7中安