為一個資深調包俠,收集各式各樣功能的R包是我的愛好之一,R語言現在是我工作中最主要的工具,無論是科研中的數據讀取還是下游的數據報告,我都會使用R的各種包來完成。下面從數據分析的整個工作流程(數據導入與獲取-數據處理-數據分析-數據報告-其他奇技淫巧)介紹一些相對小眾但是超好用的R包。
1.數據導入與獲取
1.1 readr
一般數據讀取 readr, read_xx系列(這個包其實不小眾)
相對于R 基礎包的http://read.xxx而言,read_xxx系列主要有兩個改動: 1. 字符沒有默認為因素變量, 2. 讀取數據時會顯示數據的類型,如下圖。
出處:https://readr.tidyverse.org/
1.2 vroom
大體量數據讀取vroom 包。可以媲美data.table包中的fread函數的讀取速度,快速讀取GB體量的數據。主要用法見下圖:
出處:https://www.tidyverse.org/blog/2019/05/vroom-1-0-0/
R中各種函數讀取文件速度的測評見:
https://cran.r-project.org/web/packages/vroom/vignettes/benchmarks.htmlcran.r-project.org
1.3 datapasta
復制黏貼大師,datapasta包,它可以直接從excel,網頁等數據源中將數據直接復制到R中,甚至可以一定程度上代替簡單爬蟲。
datapasta 示例:摘自:https://github.com/MilesMcBain/datapasta
2.數據處理和匯總
2.1 Rmisc
數據處理和匯總這部分現在基本被dplyr+ tidyr 和 data.table 壟斷。 但是我偶爾也會用到別的包,比方說Rmisc 這個包做數據匯總。原因是這個包中的summarySEwithin 函數可以用來處理被試內變量畫error bar圖。
比如上圖這種情況,重復測量的error bar 和被試間設計的error bar一個樣, 所以需要校正 圖片引自:Andy Field Discovering Statistics Using R Chapter 9
2.2 naniar
此外,在缺失值處理上,如果需要快速找出缺失值,或者簡單查看缺失值占比和分布,可以使用 naniar 包。比如可以通過下面的代碼快速發現缺失值的分布:
library(naniar)
ggplot(data=airquality,
aes(x=Ozone,
y=Solar.R)) +
geom_miss_point()
naniar 用法 摘自:https://github.com/njtierney/naniar
3.數據分析相關
3.1 skimr
skimr 包,快速給出數據的描述性統計結果并附帶頻數分布圖,用法見下圖:
出處:https://github.com/ropensci/skimr
3.2 compareGroups
compareGroups 包,快速做描述性統計表格(比如下圖這種,附帶頻數的卡方檢驗),支持輸出docx格式。
出處:https://cran.r-project.org/web/packages/compareGroups/vignettes/compareGroups_vignette.html
3.3 effectsize
effectsize 包, 萬能效應量轉換器, 我一般用到的是圖下的函數,比如通過F值和自由度求效應量等等。
出處:https://easystats.github.io/effectsize/reference/index.html
4.數據報告相關
4.1 esquisse
esquisse 包,免代碼ggplot 生成器,鼠標點點點就能在R-studio里面畫圖。
出處:https://github.com/dreamRs/esquisse
4.2 ggThemeAssit
ggThemeAssit包,調節ggplot對象的神器, 免代碼調節ggplot的細節參數,比如字體,背景顏色等等。
出處:https://github.com/calligross/ggthemeassist
4.3 apaTables
直接一鍵輸出apa格式表格到word文檔。
輸出apa格式的表格到doc文件,出處:https://github.com/dgromer/apa
4.4 papaja
這個包可以借助Rmarkdown寫APA格式的可發表的論文,不過我平時主要是用它里面的theme_apa() ggplot的主題。
出處:https://github.com/crsh/papaja
4.5 xaringan
xaringan包, 使用Rmarkdown寫類似PPT一樣的幻燈片進行數據分析報告。大神謝益輝寫的包,支持中文!
出處:https://github.com/yihui/xaringan
4.6 patchwork
patchwork包,讓你能夠非常輕松的在一張畫布上布局多張ggplot的圖片,如下圖:
出處:https://patchwork.data-imaginist.com/
5.其他奇技淫巧
5.1 BERT (這其實是個excel插件)
在Excel 里面用R 語言進行數據處理
詳情見:https://bert-toolkit.com/
5.2 waldo
比較R 中的對象并給出前后差異,神器!
出處:https://github.com/r-lib/waldo
5.3 livecode
局域網網頁直播寫代碼,上課或者工作坊必備!
出處:https://github.com/rundel/livecode
5.4 ProjectTemplate
建立結構化的數據分析項目,給每個數據分析單獨建一個項目,促進數據分析的可再生性。
出處:http://projecttemplate.net/getting_started.html
5.5 emo
在R里面輸入各種表情包:
出處:https://github.com/hadley/emo
5.6 taskscheduleR
R語言定時任務必備。比如爬蟲任務,每隔一段時間抓取某網頁信息,想當年我就是用這個包搶到了租房網站的房子。。。
出處:https://cran.r-project.org/web/packages/taskscheduleR/vignettes/taskscheduleR.html
5.7 DataEditR
像Excel一樣無代碼操作R-studio里面導入的數據:
出處:https://cran.r-project.org/web/packages/DataEditR/vignettes/DataEditR.html
5.8 todor
這個包特別在專門針對你代碼中的comment 進行歸類,使你的代碼更加結構化。可以通過R-studio的插件來使用這個包
詳情見:https://cran.r-project.org/web/packages/todor/todor.pdf
本文轉自愷洋,請支持原創!
文對cgroup已期望說明以下內容:
1 什么是cgroups ?
cgroups提供了一套管理進程(子進程)資源控制機制。
定義了以下專業術語: cgroup:使用一個或多個subsystems的參數集合來控制一組任務集合。 subsystem:subsystem是內核提供的管理特定資源的資源控制器。 hierarchy:hierarchy是一個邏輯概念,cgroup按照subsystem進行分類, 形成一系列cgroups,并以tree的結構組織,hierarchy這里指的是類似tree 層級。每個hierarchy層級可以映射到操作系統中的虛擬文件系統, 每個subsystem映射到一顆cgroup tree。
用戶態程序會使用cgroup虛擬文件系統對應的名字來創建、刪除cgroup實例、設置 或查詢任務所在的cgroup。這些操作只影響cgroup文件系統中關聯的cgroup實例所在的hierarchy。
2 為什么需要cgroups?
Linux內核為了使用了多種技術(cpusets, CKRM/ResGroups, UserBeanCounters, 以及virtual servernamespaces)管理進程。這些技術都需要對進程分組/分區。
內核提供的cgroup提供了一套內核機制。 舉例來說:
echo pid > /sys/fs/cgroup/network/<new_class>/tasks
只需要把管理的任務寫入,即可達到對某一資源的控制(如network)。
3 cgroup是如何實現的?
cgroups擴展了內核以下內容:
具體在內核中如何通過css_set管理不在本文討論范圍之內。
在文件夾目錄下,可以看到cgroup含有以下文件夾內容:
cgroups可以使用mkdir系統調用或者shell命令創建,cgroup的屬性則可以通過修改相應的 文件內容進行修改。
美團對這個架構圖有一個繪制,如圖1所示。
4 如何使用cgroups ?
以一個httpd程序pid=51656程序為例,需要限制httpd cpu使用2,3, mem使用1限制,net限制使用cg3中已有的配置內容。
## 限制cpu、mem使用
cd /sys/fs/cgroup/cpu_mem_cg
mkdir cg2
cd cg2
/bin/echo 2-3 > cpuset.cpus
/bin/echo 1 > cpuset.mems
/bin/echo 51565 > tasks
## 限制net使用
cd /sys/fs/cgroup/net/cg3
/bin/echo 51565 > tasks
參考文獻
[linux資源管理之cgroups簡介] https://tech.meituan.com/2015/03/31/cgroups.html
[Linux kernel cgroups-v1] https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
要一款簡單高效的通訊錄分類管理工具?小編今天為大家分享GroupsPro for Mac(通訊錄分類整理工具)軟件。GroupsPro Mac版可以幫助我們高效方便地分類整理聯系人通訊錄及聯系人郵件地址,提高工作效率!還在等什么?感興趣的朋友,歡迎前來下載!
產生和修改群組聯系人
將聯系人分配不同的群組(單個的和快速的分配)
為群發短信子郵件產生和修改郵件列表
在所有聯系人中搜索姓名、部門、郵政地址、備注 、電話號碼和電子郵件地址
郵件列表
可在GroupsPro中使用,以便向多個收件人發送電子郵件。
添加文字和照片
CC和BCC收件人部分支持
附件
PDF作為圖像或附件
作為HTML的消息可能
使用Mail應用程序手動發送準備好的電子郵件
觀看您的聯系人的照片和詳細資料
導出到文件(Excel和CSV)及更多
*請認真填寫需求信息,我們會在24小時內與您取得聯系。