R語言指定列取交集后合并多個數(shù)據(jù)集的簡便方法是怎樣的

今天就跟大家聊聊有關(guān)R語言指定列取交集后合并多個數(shù)據(jù)集的簡便方法是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

蒙自網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,蒙自網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為蒙自上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的蒙自做網(wǎng)站的公司定做!

之前錄制過一期視頻介紹過這個內(nèi)容,他的基本需求就是:他有5份數(shù)據(jù)集,每一份數(shù)據(jù)集都是每行是一個基因,每列是一個樣本,值是對應(yīng)這個基因的表達(dá)量。他想將5個數(shù)據(jù)集中的共有基因找出來,然后5個數(shù)據(jù)集按共有的基因合并。

我的思路是

  • 先把5份數(shù)據(jù)的基因名取交集
  • 用基因名給每份數(shù)據(jù)做行名
  • 根據(jù)取交集的結(jié)果來提取數(shù)據(jù)
  • 最后合并數(shù)據(jù)集

那期內(nèi)容有人留言了簡便方法,很短的代碼就實現(xiàn)了這個目的。我將代碼記錄在這篇推文里

因為5份數(shù)據(jù)集以csv格式存儲,首先就是獲得存儲路徑下所有的csv格式文件的文件名,用到的命令是

files<-dir(path = "example_data/merge_data/",
           full.names = T,
           pattern = ".csv")
 

用到的函數(shù)是dir()

path參數(shù)是數(shù)據(jù)文件存儲的路徑

full.names參數(shù)如果設(shè)置為TRUE,則返回文件的完整路徑,如果設(shè)置的為FALSE則只返回文件名。

相對路徑和絕對路徑是很重要的概念,這個一定要搞明白

pattern參數(shù)指定文件的后綴名

 接下來批量將5份數(shù)據(jù)讀入

需要借助tidyverse這個包,用到的是map()函數(shù)

library(tidyverse)
df<-map(files,read.csv)
class(df) 
 

df是一個列表,5份數(shù)據(jù)分別以數(shù)據(jù)框的格式存儲在其中

 最后是合并數(shù)據(jù)

直接一行命令搞定

df1<-reduce(df,inner_join)
 

df1就是我們想要的結(jié)果

達(dá)成這個目的最終總共才用到了4行代碼,太方便了。

之前和一位同學(xué)討論的時候他也提到了tidyverse整理數(shù)據(jù),但是自己平時用到的數(shù)據(jù)格式還算整齊,基本上用數(shù)據(jù)框的一些基本操作就可以達(dá)到目的了。也就沒有學(xué)tidyverse這個包的內(nèi)容,看來得抽時間好好學(xué)習(xí)一下了。

看完上述內(nèi)容,你們對R語言指定列取交集后合并多個數(shù)據(jù)集的簡便方法是怎樣的有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

當(dāng)前題目:R語言指定列取交集后合并多個數(shù)據(jù)集的簡便方法是怎樣的
鏈接地址:http://bm7419.com/article10/pcihgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站網(wǎng)站排名、靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司