Amazon Ads

顯示具有 statistics 標籤的文章。 顯示所有文章
顯示具有 statistics 標籤的文章。 顯示所有文章

2014年3月25日 星期二

【R筆記】初探R的矩陣

R的矩陣(matrix)就是有維度(dimension)的向量(vector)

一講到這,愈看愈抽像,來看看一些函式和例子吧! 首先要提到每一個物件都有一個屬性叫dim,它是一個函式(function),它的功能在取得或設定一個物件的維度。

再來來看看文件:
> ?dim
文件中對於dim()的描述是:取得或設定一個物件的維度。


「矩陣是有維度的向量」,那我們要取得矩陣之前,就先要有個向量出來:
> profit <- c(2.0, 2.1, 2.2, 2.1, 2.3, 2.4)
> profit
[1] 2.0 2.1 2.2 2.1 2.3 2.4
再來使用dim()函式把向量profit轉為矩陣:
> dim(profit) <- c(2, 3)
> profit
     [,1] [,2] [,3]
[1,]  2.0  2.2  2.3
[2,]  2.1  2.1  2.4
上列指令把向量profit轉為一個2 X 3的矩陣,再來我們就可以下列指令,來取得矩陣中的資料:
> profit[1,]
[1] 2.0 2.2 2.3
上列會取得第一列的資料。
> profit[,2]
[1] 2.2 2.1
上列會取得第二欄的資料。
> profit[1,3]
[1] 2.3
上列會取得第一列、第三欄的資料。 你可以比較原來的向量和之後的矩陣,看資料是怎麼放的。

2014年3月10日 星期一

【R筆記】使用R的向量(vector)的來做資料運算

vector 在 R 中是最簡單的資料結構,他是包含一系列資料的集合,如:
v <- (1, 2, 3, 4, 5)
上列的指定中,v 這個變數被指定了含有五個數字的集合。
ch <- c('a', 'b', 'c')
上列的指定中,ch 這個變數被指定了含有三個字元的集合。

上列指定運算子右邊的 c(...) 其實是一個函數,可以在 R console 中輸入:
help(c)
來看如何使用他的說明。

除了上列的指定方式外,我們也可以使用下列方式來指定一個 vector 內的元素:
v4 <- c(1, 2, 3, 6:10)
這指定了「1, 3, 3, 6, 7, 8, 9, 10」給 v4 這個變數。

若我們要取得 vector 某一個 index 的元素,可以使用:
v4[1]
這表示取得 v4 中的第一元素,這裡要注意的是 vector 的 index 是從 1 開始算的。

另外,也可以使用判斷式來取得滿足某一條件的元素,像下列運算式中,會取得 v4 中大於、等於 6 的元素:
v4[v4 >=6]
結果:

[1]  6  7  8  9 10

指定一個 vector 變數之後,我們就可以對他做一些運算、操作,如要取得平均值,例如,我們可以使用
sd(v)
或者使用 mean 函數來取得平均值,如:
mean(v)
vector 另一個好用的地方,在於可以一次對 vector 中的所有元素 (element) 做運算,如:
1/v
結果就會得到 v 中每一個元素的倒數。 也可以對兩個 vector 做加減乘除的運算,例如我們另外指定一個 v1 的變數:
v1 <- (2, 4, 6, 8, 10, 3, 6, 9, 12, 15)
v/v1
依序就會得到 v 第1個元素除以 v1 第1個元素的值、 v 第2個元素除以 v4 第2個元素的值..., v 第1個元素除以 v4 第6個元素的值,以此類推。

這要注意的是,當使用兩個 vector 做運算時,其中一個 vector 內包含的元素數量,要是另一個 vector 中包含元素數量的倍數,不然就會出現如下的警告訊息:
警告訊息:
In v/v1 : 較長的物件長度並非較短物件長度的倍數

2014年3月6日 星期四

【R筆記】R的指定運算子 (assignment operator)

在R中,指定運算子 (assignment operator) 是「<-」,就是一個小於符號加上一槓,例如:
x <- 168
就是把「168」這個值指給「x」這個區域變數 (local variable)。

另外,也可以使用「=」來指定變數的值,如:
x = 168
但這樣的方式可能會和「==」這個比較的運算子搞混,因此不建議這樣使用。

還有,也可以用使用「->」,就是一槓加上一個大於的符號,將變數放在右邊,把值放在左邊,如:
168 -> x
但這樣程式碼一多的時候,會降低程式碼的可讀性,因此也不建議這樣使用。

有時候可能會看到有兩個小於加上一槓的指定運算子,像:
x <<- 168
這個指定方式是把「168」這個值指定給「x」這個「全域變數 (global variable)」。

另外,上方程式碼中的空格,是為了增加易讀性,你當然也可以寫成:
x<-168
但這樣擠在一起,程式看起來就不那麼易讀了。

在 R 中,還有一個函式 assign,也是用來指定變數的值:
> assign("y", 1234)
> y
[1] 1234
我在指定一個變數之後,直接在 console 中輸入該變數,就可以輸出該變數的值了:
> x
[1] 168
這樣的結果,和使用 print 這個函數輸出的結果一樣:
> print(x)
[1] 168
當我要列出我有指定過的變數時,我可以用
> ls()
[1] "x" "y"
最後,當我離開 R 時,若有儲存工作空間,指定過的變數也會被儲存,再次開啟時,這些變數也一樣可以再被使用。

【R筆記】如何設定R的工作目錄 (working directory of R)

執行R的時候,可以使用下列指令,來取得目前所在的工作目錄:
getwd();


R就會顯示目前所在的工作目錄:


 若你要自訂執行R時的預設工作目錄,可以使用下列方法:

在桌面捷徑上點按滑鼠右鍵,開啟選單後再點按【內容】:


在「開始位置」的欄位中輸入你啟動程式後要做為預設工作目錄的資料夾位置:


點按【確定】後完成設定。

再執行一次 getwd() 就可以看到工作目錄已經更改。

若你有儲存某一個「.RData」在某個資料夾下,當你開啟該檔案後,R的工作目錄就會是存放該「.RData」檔的資料夾。

若你想要進一步學習R,我推薦: