目前分類:R筆記 (13)

瀏覽方式: 標題列表 簡短摘要

最近半年練習使用R的一些之前沒用過的pacakge。一個是R的data.table package,有其特殊的方言,可以處理更大的資料。

另外就是把Rshiny 往更複雜的結構去。試著寫了幾個module,和幾個loop搭配。
試驗的還算順利。

覺得像打電動一樣,R的經驗用往上了一個level。可以考慮弄一個自己的系統。

文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

雖然嘗試了幾次tidyverse和pipe,但語法的改變並沒有讓我覺得有特別大的好處,R v.4 開始有pipe,合適的時候還是會用一下。

然後找到一個package "data.table" 處理大資料,可以一定程度簡化一些code,開始學習和測試。

學習新東西的過程還是很折磨人的,本來用base R 很熟練的寫法現在,要轉成新的方式。
但因為data.table似乎確實能幫助處理大資料,我還是慢慢練了。

 

霹靂貓 發表在 痞客邦 留言(0) 人氣()

一直很少介紹R的基本畫圖函數。很多人會用ggplot2的套件,但是我學R畫圖的時候ggplot2沒有,ggplot可以很快畫出複雜維度的圖,但是我更喜歡自己設計圖,我常常是調整很多參數都要動一遍,雖然我也用了一點qqplot2,但是一般都是用basic裡的指令。對我來講自己畫圖的好處就是不用加載太多套件,自己想怎麼畫就怎麼畫。
 
?par 裡有非常大部份畫圖參數設定的介紹
 
par(mfrow=c(2,2), mar=c(5,4,2,3), las=2)
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

即使是個R的初學者,都可以試一些簡單的方式來自定義新函數,方便自己工作:
 
R本身就有很多好用的function(函數),但函數的預設值未必是我們最常用的,這時候可以修改設定存成新函數名,簡少每次都要打同一串設定的麻煩,這是自定義新函數的最簡單應用。

例如:
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

讀檔的基本介紹在:一般資料匯入R的必殺技
這裡是
非常簡略的筆記,給須要同時整理一堆檔案的人。
主要提幾個重要的函數家族,這裡提的函數都值得去查help看example的示範,請自己試。
 
getwd() #查詢現在R所在的工作目錄 

霹靂貓 發表在 痞客邦 留言(0) 人氣()

餵資料給函數是有一些可以讓你偷懶的小規則的,知道規則以後,就可以就隨便餵了。
 
一般函數都不須要餵太多東西,所以平常不會感覺到什麼差別,但是有些函數可能用上很多arguments,或是arguments的名字很長,那就有些偷吃步了。
 
這時候就要借助繪圖函數了,單純因為他們的arguments比較多,比較好舉例。
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

想用R處理資料的時候,第一個問題都是:如何把手上的資料弄進R裡?
這邊只先介紹表格形式的資料,像Excel表那樣的排列(其實一般接觸到的都是這種格式。)
 
確實有時候把手邊的資料弄進R裡是有一點麻煩或是須要一點經驗,特別是遇到Excel格式的資料。如果不是非常必要,請不用浪費時間去找"直接讀入Excel檔"的方法。 
 
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

剛認識對R裡的函數認識很少,會不斷遇到的問題是:「我的資料是....,我想要做....,有什麼函數可以用?」

其實即使用了R很久,這個問題還是會一直存在的。最簡單的答案當然是靠google,輸入 R和想做的事,中文查不到試著打英文,R的英文資源遠勝於中文,總是能查到一些東西的,甚至可以查到很多人寫的R package(就是別人幫你寫好並打包一堆特殊功能的函數),下載直接用。但對於剛接觸R的人,如果你要做的不是什麼複雜的分析,建議先不要急著下載package或外部函數,而是找直接找能在R裡運作的函數,最基本的function。

查到一些可能有用的函數後,都應該看它的help一眼。 Lesson3 已經提了str()來了解物件這一篇就要說如何例用help()來使用函數。
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

用R寫東西,常常出現錯誤都是因為物件結構發生了不如預期的變化,常常會因為結構的問題,要做調整,想想還真麻煩!但其實越熟悉這種結構間的變化關聯和差異,也會有很方便的效果產生。
 
這算是str( )的番外篇吧,來看一下,為什麼要有這麼多不同類型的物件?這個問題不是只出現在R裡,所有的統計軟體都會注意資料的特性,不然就不是統計軟體了。
 
如果你有一點點統計背景,應該有一個概念:每一筆資料或每一個變數都有它獨特的性質。
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

Lesson1裡用了一個小例子來說R使用者常遇到的困擾:

> colMeans(iris)
Error in colMeans(iris) : 'x' must be numeric

如果對物件結構不清楚,會很容易出現一直出現Error!所以常常要查物件結構。
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

這一篇介紹使用],從一個物件中提取數據的基本原則:
 
]中提取物件中的數據主要是以物件的維度來看怎麼提取:
文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

先來看看R怎麼運作的:這邊的指令都是利用R的基本內建的物件,打開R在console裡輸入應該都可以跑。

> colMeans(iris[, -5])

Sepal.Length  Sepal.Width Petal.Length  Petal.Width 

    5.843333     3.057333     3.758000     1.199333

文章標籤

霹靂貓 發表在 痞客邦 留言(0) 人氣()

如果要把一串數字做分類,例如要把溫度分低中高、年齡換成不同年齡層,在統計上來說就是把連續型的變數轉換成離散型的變數,常常會寫一堆if 和 else 來分類,像是用ifesle()來做:
例如要把1到20分成三組:1~5, 5~10, 10~20:

> (X <- 1:20)
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
> ifelse(X<=5, 1, ifelse(X <= 10, 2, 3))
文章標籤

霹靂貓 發表在 痞客邦 留言(1) 人氣()