getwd()
# 用這個指令可以知道你現在在哪一個資料夾裡面,也代表你在哪裡進行存取檔案
setwd("C://")
# 改變資料夾的位置,引號內可以隨你變動,只要有就可以
2008年2月10日 星期日
物件 Objects
在R裡面的東西都稱為「物件 objects」
物件當中最基本的是向量(vector)
另外還有矩陣(matrices)或陣列(arrays)、
因素(factors)、表單(lists)、資料框架(data frames)、函數(functions)
基本上我們就是在運用這些物件透過計算、指令來處理資料
##############################
# 如果你想知道在你現在的「工作環境」中有哪些物件,可以使用
ls() # 他會列出所有出現在工作環境的物件,也可以用
objects()
# 而當你想要移除這些物件時,可以使用
rm(物件的名字)
# 如果你想要移除所有的物件,可以使用
rm(list=ls())
物件當中最基本的是向量(vector)
另外還有矩陣(matrices)或陣列(arrays)、
因素(factors)、表單(lists)、資料框架(data frames)、函數(functions)
基本上我們就是在運用這些物件透過計算、指令來處理資料
##############################
# 如果你想知道在你現在的「工作環境」中有哪些物件,可以使用
ls() # 他會列出所有出現在工作環境的物件,也可以用
objects()
# 而當你想要移除這些物件時,可以使用
rm(物件的名字)
# 如果你想要移除所有的物件,可以使用
rm(list=ls())
建立資料
通常我們要產生一組資料
除非有順序,不然會使用向量「c()」的方式
c() 表示「concatenate」
而且會使用代號來表示,這時要使用「屬於」的符號
也就是「<-」,這個符號大致上也可以用「=」取代 來看幾個例子
x<-1:10 # 意思是說x表示1到10的向量
x # 輸入x就會跑出來我們設定的數字
[1] 1 2 3 4 5 6 7 8 9 10
y=5:7 # 用" = "大致上也是沒問題的
y
[1] 5 6 7
我通常會用「=」啦,因為畢竟只打一個符號會比較討喜,除非遇到問題在改成「<-」 z=c(4, 3, 7, 11, 2) # 使用了c()
z
[1] 4 3 7 11 2
注意喔!R裡面是有區分大小寫的喔
所以要小心輸入,所以如果是
Z
錯誤: 找不到目的物件 "Z"
除非有順序,不然會使用向量「c()」的方式
c() 表示「concatenate」
而且會使用代號來表示,這時要使用「屬於」的符號
也就是「<-」,這個符號大致上也可以用「=」取代 來看幾個例子
x<-1:10 # 意思是說x表示1到10的向量
x # 輸入x就會跑出來我們設定的數字
[1] 1 2 3 4 5 6 7 8 9 10
y=5:7 # 用" = "大致上也是沒問題的
y
[1] 5 6 7
我通常會用「=」啦,因為畢竟只打一個符號會比較討喜,除非遇到問題在改成「<-」 z=c(4, 3, 7, 11, 2) # 使用了c()
z
[1] 4 3 7 11 2
注意喔!R裡面是有區分大小寫的喔
所以要小心輸入,所以如果是
Z
錯誤: 找不到目的物件 "Z"
2008年1月23日 星期三
簡單運算
接下來要介紹一些基本的功能使用
我們從最簡單運算開始
無庸置疑的,+-*/^這些指令相信絕大部分的人都能夠輕易上手
(註:紅色是我們輸入的字,藍色的部分是他輸出的結果,而[1]表示他是呈現的第一個數值)
1+2
[1] 3
5-3
[1] 2
3*4 # 3乘以4
[1] 12
10/5 # 10除以5
[1] 2
3^2 # 3的2次方
[1] 9
不過,你有沒有發現我在計算的後面用了#加了一些說明
沒有錯,在R裡面,如果你想加註說明
就可以直接用#來區隔
也就是在同一行裡面,#以後的訊息都不會被讀取到
所以如果你打
3*8 # 100+99
[1] 24
只會出現24這個答案(因為只會計算3乘以8,後面的100+99不會計算)
也可以配合一些「()」的使用,當然如果你用很多的時候會眼花的
另外,基本上你所熟知的一些數學代號基本上都是可以憑直覺使用的
不過還是亦稍微小心
例如
log(10) # 這個是自然對數喔,並不是我們所知道的以10為底,他是以e為底的log
[1] 2.302585
log(100,10) # 所以想改成以10為底,就在要後面加上
[1] 2
log(8,2) # 以2為底
[1] 3
簡單的說,要避免使用錯誤,最好的方式是先自己試一試
exp(3) # 數學中有時還滿容易使用到的指數,例子是說e的3次方
[1] 20.08554
如果你輸入了一些無意義的會怎樣呢?
4/0
[1] Inf
# 無限的意思呢!
0/0
[1] NaN
# Not a Number
我們從最簡單運算開始
無庸置疑的,+-*/^這些指令相信絕大部分的人都能夠輕易上手
(註:紅色是我們輸入的字,藍色的部分是他輸出的結果,而[1]表示他是呈現的第一個數值)
1+2
[1] 3
5-3
[1] 2
3*4 # 3乘以4
[1] 12
10/5 # 10除以5
[1] 2
3^2 # 3的2次方
[1] 9
不過,你有沒有發現我在計算的後面用了#加了一些說明
沒有錯,在R裡面,如果你想加註說明
就可以直接用#來區隔
也就是在同一行裡面,#以後的訊息都不會被讀取到
所以如果你打
3*8 # 100+99
[1] 24
只會出現24這個答案(因為只會計算3乘以8,後面的100+99不會計算)
也可以配合一些「()」的使用,當然如果你用很多的時候會眼花的
另外,基本上你所熟知的一些數學代號基本上都是可以憑直覺使用的
不過還是亦稍微小心
例如
log(10) # 這個是自然對數喔,並不是我們所知道的以10為底,他是以e為底的log
[1] 2.302585
log(100,10) # 所以想改成以10為底,就在要後面加上
[1] 2
log(8,2) # 以2為底
[1] 3
簡單的說,要避免使用錯誤,最好的方式是先自己試一試
exp(3) # 數學中有時還滿容易使用到的指數,例子是說e的3次方
[1] 20.08554
如果你輸入了一些無意義的會怎樣呢?
4/0
[1] Inf
# 無限的意思呢!
0/0
[1] NaN
# Not a Number
2008年1月12日 星期六
R help
終於進入R的世界了,
不過既然這是個要輸入指令的語法介面,就會想要知道有什麼功能可以用
要怎麼知道這些指令呢?
猜測? 去網路找?(於是你進入了這個網站)
基本上你可以輸入「help(打你想知道可能的指令)」來尋找
舉個例:
help(plot)
(搜尋「plot」這個指令)
他會跑出一個視窗介紹關於plot(繪圖)這個指令的內容
包括他有哪些參數要輸入,也有例子告訴你
基本上,這個指令等同於使用:
?(plot)
如果萬一沒有找到和這個有關的指令,他也會建議你用
help.search("plot")
這個指令其實就和中文版上方命令列「輔助」裡「搜尋輔助」是一樣的
不過似乎有些具有特別意義的指令可能要加個引號
例如
help("if")
?"!" (搜尋「!」這個字元的意思)
萬一萬一怎麼找都找不到你所需要的指令呢?
我們就只好到網路上尋找有沒有什麼幫助了
就像之前提過的,用R當關鍵字真的很不利
所以這裡我建議你使用「r help」當關鍵字搜尋
(當然後面加上你想要找的內容)
因為R有個討論指令的地方
有很多人可能有和你相同的問題
所以...去發掘寶藏吧!
考考你一題不容易的
一個很基本的統計指標是 眾數(mode)
請問他的指令是...?
答案之後會告訴你!
Trial and Error!
That will be YOURS!
不過既然這是個要輸入指令的語法介面,就會想要知道有什麼功能可以用
要怎麼知道這些指令呢?
猜測? 去網路找?(於是你進入了這個網站)
基本上你可以輸入「help(打你想知道可能的指令)」來尋找
舉個例:
help(plot)
(搜尋「plot」這個指令)
他會跑出一個視窗介紹關於plot(繪圖)這個指令的內容
包括他有哪些參數要輸入,也有例子告訴你
基本上,這個指令等同於使用:
?(plot)
如果萬一沒有找到和這個有關的指令,他也會建議你用
help.search("plot")
這個指令其實就和中文版上方命令列「輔助」裡「搜尋輔助」是一樣的
不過似乎有些具有特別意義的指令可能要加個引號
例如
help("if")
?"!" (搜尋「!」這個字元的意思)
萬一萬一怎麼找都找不到你所需要的指令呢?
我們就只好到網路上尋找有沒有什麼幫助了
就像之前提過的,用R當關鍵字真的很不利
所以這裡我建議你使用「r help」當關鍵字搜尋
(當然後面加上你想要找的內容)
因為R有個討論指令的地方
有很多人可能有和你相同的問題
所以...去發掘寶藏吧!
考考你一題不容易的
一個很基本的統計指標是 眾數(mode)
請問他的指令是...?
答案之後會告訴你!
Trial and Error!
That will be YOURS!
訂閱:
文章 (Atom)