最近爬蟲偶爾遇到爬某網站時就卡住, 因此想說可否設定當讀取超過多少秒時, 則判斷為錯誤, 然後跳到下一個。 後來發現 R.utils 的 evalWithTimeout , 他可以設定當某個指令或 function 跑多少秒以上就丟出 TimeoutExcep...
有時候一個Col中的每個Row可能含有多個值(如範例中alphabet欄位), 想把這些值切開產生新的Row作分析的話, 可以參考 此篇 , 其中使用 tidyr 中的 separate_rows() 相對較直覺, separate_rows() 中第一個參數為 d...
一般判斷句子中是否出現文字常用的是 grepl, 不過 grepl 是回傳 TRUE 或 FALSE, 而要計算文字在句中出現次數的話, 就要使用 stringr 套件中的 str_count , 其回傳值為出現次數(數值), 下面範例可以試試看, 會比較好理解。
最近在作些一般分析時, 發現當資料量大的時候, dplyr 跟 data.table 處理會差很多(個人處理到200萬筆資料時速度上就有明顯差異)。 此篇文章有 data.table 的介紹: 連結 , 詳細內容可以看上述文章, 下面舉三個例子(有的文章內沒有)...
最近發現比較有趣的功能, R也可以結合迴圈等語法修改以及壓縮大量檔案。 修改檔名是用 file.rename , 下面範例中 from 帶入的是原本的檔案名稱, to 則是修改後的名稱。 壓縮檔案是用 zip , zipfile 是帶入壓縮檔的名稱, files...
資料集的合併常用的大致為Inner Join、Full Join、Left Join、Right Join。 這些方式的差異主要為最後留下的key(依照哪個欄位來合併)是什麼。 下圖整理了大致上差異為何。 下面依照網路資源, 修正整理了四大類join方法, 分別...
有時候在資料篩選處理或繪圖上, 需要將多個col轉換成一個col。 類似以下這張圖。 例如當要篩選出多個col的值>0的資料, 轉換成右方格式即能很快的處理。 這部分真的還是要自己去實作比較能感受到實際狀況。 下面為範例, melt 為左圖格式轉...
最近看到滿有趣的幾個用法。 第一個是 .Last.value , 他會等於是最新剛剛宣告的物件。 另一個是當原本在賦予值給物件時, 是不會顯示物件的值為何, 不過用引號包起來的話, 賦予值時, 也會顯示其值為何, 就不需要再打一次物件名稱來觀察其值。...
有時在用 dplyr 時, 會發現有些函數失效, 或是出現錯誤, 有一個可能是除了有載入 dplyr 之外, 也載入了 plyr , 導致產生衝突(兩個library都有此函數,如 summarize )。 解決辦法很簡單, 假設我要使用 sum...
R預設會將過大的數值會轉成科學記號(scientific notation)呈現, 例如 999999999999999 會顯示 1e+15。 想要不要讓它以科學記號呈現, 加入 options(scipen=999) , 就都不會以科學記號方式呈現了。 以下為範例:
一直到現在,到底該學R還是Python其實一直沒有特別的定論,個別有其特色與優缺點,還是以個人需求作抉擇(可參考國外網站與趨勢: 1 , 2 )。而台灣企業對資料分析師的能力需求,或許可以看看人力銀行中,資料分析師相關的職缺要求能力有哪些。 先從國際上2016年 ...
有些時候在處理很大的data frame時會相當緩慢, 套件 data.table 在這時就會相當有用, 使用 setDT(df) 即可將 data frame 轉成 data table, 如我想轉回原本 data frame格式, 就使用 setDF(df) 即...
整理一下常用的讀取Excel檔所使用的函式, 主要會讀到的是xlsx、xls以及csv檔。 xlsx、xls可以用 read_excel 來讀取, 結合 excel_sheets 與 rbind 則可抓出檔中所有sheet的資料。 也可使用 readWorksheet ...
如果想客製化R的初始環境, 可以找到 Rprofile.site 這個檔案做設定, 這檔案在 ....\R-X.X.X\etc 中(例如C:\Program Files\R\R-X.X.X\etc,X.X.X為R的版本)。 例如在檔案加入 setwd("...
在做分析時會用到長條圖, 不過有些時候因為類別名稱太長, 用橫條圖再顯示上會比較美觀。 長條圖的ggplot2實作網路很多, 這篇就很詳細: 連結 。 橫條圖實際上也很簡單, 只要在ggplot後面加入 coord_flip() , 就會將長條圖變成橫條圖了(其他...
最近在使用VirtualBox建Ubuntu虛擬機, 想直接用Windows直接打指令控制虛擬機, PuTTY 算是相當方便的軟體。 下圖就是 PuTTY 的畫面, 設定好相關設定後按Open, 就會進入登入畫面, 輸入帳號密碼後就可以開始用了。 相關文章: [...
網路資源: [中]包含R的教學文 http://blog.gtwang.org/ [中]R、Python..等相關Blog http://bryannotes.blogspot.tw/search/label/R?max-results=20 [...
假設建立一個數值型Vector, 當數值型資料轉成Factor後, 再轉回數值型態, 可能會遇到問題。 例如建立一個 tmp: tmp <- c(2,3,3,2,4,4) , 將其轉成Factor: f_tmp <- factor(tmp) , 當再把...
最近有朋友想學R, 問說到底該安裝R還是Rstudio, 簡單講, 要寫R語言就要安裝R, 而Rstudio是一個R語言的IDE, IDE就是整合開發環境, 在這環境寫code更加方便。 以R的環境而言, R的介面如下圖: 而R...
在使用Virtual Box架Ubuntu虛擬機時, 想要設定固定IP, 網路上有許多指令教學, 不過這裡是介紹手動方法, 直接進行修改。 以下一步一步以圖方式介紹: 第一步:將此虛擬機網路的設定值改為「橋接介面卡」。 第二步:開啟Ubunt...
有時使用中文時會出現 Error: invalid multibyte character in parser at line 1 的問題, 或是 Error in nchar(homeDir) : invalid multibyte string, element 1 。 ...
在進行文字探勘時, 需要把句子切成詞彙。 R裡面我有用到的library是tmcn跟jiebar。 jiebar很直覺, 先用 cutter=worker() 產生一個切詞器, 便可以用cutter來切割句子。 我們還可以使用 new_user_word 來將新詞彙加...
有時候會將變數或值指定給文字(變數名稱), 讓文字變成新的變數, 就可以用 assign 。 例如 assign('Im_Variable', 'Im Value') , Im_Variable就成為變數,賦予值 'Im V...
分析時有時會用到樞紐分析, R也有類似的功能, 就是 plyr 。 如下面例子, 產生一個data frame, 其中包含組別、性別與年齡三個col, 我們可以使用 ddply , 依照組別與年齡作為分組標準, 計算各組的平均數與標準差。 另外也常遇到計算各組...
最近用網路爬蟲, 赫然想到是否可以直接用R下載檔案, 發現真的有相關函式, 就是 download.file 。 你可以給他網址, 並且設定檔案名稱, 即可將檔案下載下來, 配合網路爬蟲抓取多個URL即可自動化下載多個檔案了(?)。 下面有程式碼範例。 Whe...
這篇文章由台大圖資系所整理, 講者為中研院資料科學研究所研究員, 提到一些大數據應用以及迷思。 演講投影片: 連結 台大圖資系整理文章: 連結
在使用網路爬蟲時,有些時候網頁的url並不一定具有規則(例如PTT),那我們可以先從其列表中抓取個網站的url(PTT的每一頁列表的url具有規則),再利用這些爬到的url去做網路爬蟲。 例如我要爬marvel版第1657頁的所有文章,我就需要讀取.title底下的a ...
在R之中可以用rvest進行網路爬蟲, url 表示你要抓取資料的連結, read_html(url) %>% html_nodes("section p") %>% html_text() 表示去抓取這連結底下,標籤section底下的標籤p...
When processing data using for loop, you would want to know the process rate. You can use print , cat or txtProgressBar . print and c...
When processing data, sometimes we need to remove beginning or ending spaces (or even other kinds of punctuation) in string. In R, as can ...