R語言學習筆記,(1)基礎及向量操作
一、基礎部分(持續更新)
1、大小寫明感
2、source(“d:/test.R”):可以執行對應目錄下得test.R指令碼。R中\符號為轉義字元,所有目錄中需使用/或者\\.。
3、sink(“d:/out.txt”):將後續的輸出由終端轉向一個外部檔案,本例中為d;/out.txt。如果需要重新恢復到終端使用sink()。
4、print(x):列印x值。
5、註釋只能使用#,單行註釋,不支援多行註釋。
二、數值與向量
1、為一個向量賦值x <- c(1, 2, 3)或者c(1, 2, 3) -> x 或者 assign(“x”, c(1, 2, 3))。
2、y <- c(x, 1, x):將向量組合起來賦值給y,y為1 ,2,3,1,1,2,3,共7個元素。
3、max(x),min(x)得到x中最大、最小值。
4、length(x):向量x的長度。
5、sum(x),prod(x):向量x中所有元素的和與積。
6、mean(x),var(x):x向量的均值和方差。
7、pmin、pmax:做最大或最小值截斷。
> pmin(10:1,5)
[1] 5 5 5 5 5 5 4 3 2 1
> pmax(10:1,5)
[1] 10 9 8 7 6 5 5 5 5 5
8、sort(x, TRUE),sort(x):對x進行降序,升序排列,返回排列後的一個向量。
9、sqrt(x):x開方,x可以為向量或者數字
10、1:30產生一個1到30的向量,類似於seq(1:30)。seq(1, 30 ,by=2):步長為2,seq(1:30, length=5):1到30均勻分成5等分。
11、rep(x, times=5): 產生一個新的向量重複x向量5次。
12、paste將字元按一定規律連結起來,可以任意多個引數,產生的向量長度桐引數中最長向量長度。
> labs <- paste(c("X","Y"), 1:10, sep="")
> labs
[1] "X1" "Y2" "X3" "Y4" "X5" "Y6" "X7" "Y8" "X9" "Y10"
> labs <- paste(c("X","Y"), 1:10)
> labs
[1] "X 1" "Y 2" "X 3" "Y 4" "X 5" "Y 6" "X 7" "Y 8" "X 9" "Y 10"
> labs <- paste(c("X","Y"), 1:10, sep="*")
> labs
[1] "X*1" "Y*2" "X*3" "Y*4" "X*5" "Y*6" "X*7" "Y*8" "X*9" "Y*10"
> c("x","y")[rep(c(1,2,3), times=5)]
[1] "x" "y" NA "x" "y" NA "x" "y" NA "x" "y" NA "x" "y" NA
> c("x","y")[rep(c(1,2,1), times=5)]
[1] "x" "y" "x" "x" "y" "x" "x" "y" "x" "x" "y" "x" "x" "y" "x"
13、y <- x[x>3]:將x中大於3的元素作為y的元素
y<- (x+)(x>3):首先將x中所有元素+1,然後將大於3的元素作為y的元素。
14、向量可以通過下表訪問:x[8]表示第8個元素,x[1:10]表示,如果是負數,表示去掉對應的元素
> x[-2:-3]
[1] 0 4
> x
[1] 0 2 3 4
15、names屬性可以使用字串作為索引,還不是太瞭解,看著下面的例子有點像map資料結構。
> x
[1] 0 2 3 4
> names(x) <- c("a","b","c","d")
> x["a"]
a
0
> x["b"]
b
2
> x[c("a", "b")]
a b
0 2
16、x[is.na(x)] <- 0:將NA元素用0代替。
17、向量中如果有字串,其他數字將被轉換為字串。
> z <- c(1, 'b', 23)
> z
[1] "1" "b" "23"