01-RBasic-02-Data-Structure-Vectors
---------------------------------------------
01. `max(x)`會傳回x 中最大的值,而`min(x)`會傳回x 最小的值
02. 函數`range`就能直接傳回輸入向量的 範圍(最小到最大)
03. `sum(x)`會傳回x 所有值的加總。 `length(x)`函數能直接傳回x 的長度
04. `mean(x)`就能直接 計算x的平均值
05. `var(x)`樣本變異數: `sum((x - mean(x))^2) / (length(x)-1)`
06. `sd(x)`計算x 的樣本標準差
07. `sort(x)`則會產生一個和x 長度一樣的向量,但是值是 由小到大排列
08. `sqrt(x)`代表的就是數學上開根號的運算
09. 產生一些附帶有規則的序列。例如: `1:10`就會產生自1至10的序列。`seq(1, 10)`其實就是`1:10`
10. `:`這個運算子的優先層級很高,也就是說如果R 看到:`2 * 1:10`這段expression,會優先處理`1:10`,然後再把所有結果乘以2
11. 想要重複一個數字,則可以用`rep(x)`
12. 在R 中,邏輯值「真」常用`TRUE`或`T`來代表。「假」則用`FALSE`或`F`代表。第三種在邏輯向量會出現的值,就是NA(Not Available)
13. 邏輯向量的「條件」有:大於`>`、大於等於`>=`、 小於`<`、小於等於`<=`、相等`==`和不相等`!=`。
14. 邏輯運算子「且」`&`和「或」`|`
15. 當資料的值無法取得的時候,R 就會給它一個特殊的記號:NA
16. `is.na(x)`來判斷一個向量裡面有沒有NA
17. NA和NaN。 NA代表的是缺失值,而NaN往往來自於數學運算中沒有定義的行為。 例如:`sqrt(-17)`、`0/0`和`Inf - Inf`。在R 裡面,無限大就是`Inf`
18. 雖然我們理解NA和NaN的不同,但是`is.na`會把兩者都看成TRUE
19. 「字串」是透過單引號`'`或雙引號`"`來建立的
20. 在R 中,`\`符號代表字串中的跳脫符號。舉例來說,如果我們要輸入一個包含雙引號的字串,有兩種方法:一種是用單引號`'`來包覆雙引號,另外一種就是在雙引號之前插入`\`
21. `paste(x)`是在R中常常用來做字串處理的函數。我們可以丟任意個 arguments 給`paste`,結果R會把這些argument以字串的形式接成一個字串。
> paste(c("X", "Y"), 1:10)
[1] "X 1" "Y 2" "X 3" "Y 4" "X 5" "Y 6" "X 7" "Y 8" "X 9" "Y 10"
22. `paste0`預設在串接字串的時候,中間是不會有空格
> paste0(c("X", "Y"), 1:10)
[1] "X1" "Y2" "X3" "Y4" "X5" "Y6" "X7" "Y8" "X9" "Y10"
23. 挑選向量中一部份的資料。x<- c(10.4,5.6, 3.1, 6.4)
第一種方法,使用坐標。如果要挑選x 的 第一和第三個位置的值,只要使用:`x[c(1,3)]`
第二種方法,是利用邏輯向量。如果要 挑選x 之中超過5 的值,就透過`x[x > 5]`
第三種方法,是削去法。如果要挑x _除了_第二個之外的 全部的值,可以使用`x[-2]`
24. R的向量中,每一個值是可以有名字的。舉例來說,我們可以透過: `names(x) <- c("a", "b", "c", "d")`來幫x的每個值取名
> x
a b c d
10.4 5.6 3.1 6.4
沒有留言:
張貼留言