向量· R Basic

文章推薦指數: 80 %
投票人數:10人

建立向量,但切記向量元素必須是同個資料屬性。

... 向量加減乘除; length:計算向量中的元素個數。

sum:將向量所有元素加總。

prod:將向量所有元素相乘。

RBasic Introduction Chapter1-環境建置 安裝與更新R 安裝RStudio Rstudio基本介紹 切換R的版本 Console開啓Rconsole 安裝載入package Chapter2-基本運算 資料屬性 常見運算 Chapter3-變數與資料 變數 向量 陣列 矩陣 因子 列表 資料框架 Chapter4-資料匯入與輸出 匯入資料 輸出資料 讀取資料庫的資料 Chapter5-流程控制 邏輯判斷式 條件執行 迴圈結構 Chapter6-資料整理 重新編碼 資料變形 資料合併與分割 Chapter7-自訂函數 定義函數 建立.First與.Last函數 PoweredbyGitBook 向量 向量 利用c(...)建立向量,但切記向量元素必須是同個資料屬性。

>c(1,2,3) [1]123 >c(1,TRUE,"test")#全部都變成character [1]"1""TRUE""test" >c(1.1,TRUE,"test")#全部都變成character [1]"1.1""TRUE""test" >c(1+2i,TRUE,"test")#全部都變成character [1]"1+2i""TRUE""test" >c(1,TRUE)#全部自動轉成integer [1]11 >c(1.1,TRUE)#全部自動轉成numeric [1]1.11.0 >c(1+2i,TRUE)#全部自動轉成complex [1]1+2i1+0i >c(1,1.1)#全部自動轉成numeric [1]1.01.1 >c(1,1.1,1+2i)#全部自動轉成complex [1]1.0+0i1.1+0i1.0+2i 註:經由以上比較後,可以得到當放入的形態不同時,會被轉成同一形態,且可以每個形態的強弱不同,以下是強到弱排序。

character>complex>numeric>integer>logical 透過指標與名稱提取資料 我們可以透過以下二種方式取得向量元素。

指標 元素名稱 另外可以搭配[]或[[]],這樣分別會回傳向量元素的所有資訊或向量元素的數值,總共可以分成以下四種狀況。

x[i]:回傳向量元素所有資訊 x[[i]]:只回傳向量元素的值 x[元素名稱]:回傳向量元素所有資訊 x[[元素名稱]]:只回傳向量元素的值 >xx[1] joe 12 >x[[1]] [1]12 >x["joe"] joe 12 >x[["joe"]] [1]12 >x[1:2]#一次取多個向量元素 joevicky 1214 c(...)類似的函數x:y、seq與rep x:y:回傳x到y的整數向量,所以x與y都是整數。

seq(s,e,by):產生一個等差級數的向量。

s是初始值 e是結束值 by是遞增值,預設是1 rep(x,times,each):產生一個重覆循環的向量。

x是需重覆循環的數值 times是重覆循環次數 each是x內元素重覆的次數 >1:5 [1]12345 >seq(1,5) [1]12345 >seq(1,5,0.3)#就算沒有剛好加到跟結束值一樣也沒關係 [1]1.01.31.61.92.22.52.83.13.43.74.04.34.64.9 >rep(c(1,2,3),times=3,each=2) [1]112233112233112233 >rep(1:4,times=3,each=2) [1]112233441122334411223344 基本相關函數 向量加減乘除 length:計算向量中的元素個數。

sum:將向量所有元素加總。

prod:將向量所有元素相乘。

cumsum:回傳元素累加向量。

cumprod:回傳元素累乘向量。

sort:將向量元素排列,產生排序過的向量。

rank:回傳各向量元素的排序值。

>c(3,4,2)+c(3,4,2) [1]684 >c(3,4,2)-c(3,4,2) [1]000 >c(3,4,2)*c(3,4,2) [1]9164 >c(3,4,2)/c(3,4,2) [1]111 >length(c(3,4,2)) [1]3 >sum(c(3,4,2)) [1]9 >cumsum(c(3,4,2)) [1]379 >cumprod(c(3,4,2)) [1]31224 >prod(c(3,4,2)) [1]24 >sort(c(3,4,2)) [1]234 >rank(c(3,4,2)) [1]231 上述向量加減乘除時,向量個數都是一樣的狀況,但不同的狀況會發生什麼結果,請看以下測試。

加跟減 如果長度較長的向量長度是較短的倍數的話是可以相加或相減的。

>c(1,2)+c(1,2,3) [1]244 警告訊息: Inc(1,2)+c(1,2,3):較長的物件長度並非較短物件長度的倍數 >c(1,2)+c(1,2,3,4)#1+12+21+32+4 [1]2446 乘跟除 乘跟除的情況與加跟減狀況一致,只是當長度不是倍數時會有結果但也會警告。

>c(1,2)*c(1,2,3)#1*12*21*3 [1]143 警告訊息: Inc(1,2)*c(1,2,3):較長的物件長度並非較短物件長度的倍數 >c(1,2)*c(1,2,3,4)#1*12*21*32*4 [1]1438 resultsmatching"" Noresultsmatching""



請為這篇文章評分?