欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言批量讀取某路徑下文件內(nèi)容的方法

 更新時(shí)間:2022年04月01日 15:41:53   作者:鞏翔宇I(lǐng)brahimovic  
批量地做就是解放雙手地過程,本文主要介紹了R語言批量讀取某路徑下文件內(nèi)容的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

R剛?cè)腴T的時(shí)候,能夠正確讀取單個(gè)文件就覺得小有成就,隨著時(shí)間的積累,單一文件地讀取已經(jīng)不能滿足需求了,此時(shí),批量地做就是解放雙手地過程。

使用for循環(huán)把下載地TCGA數(shù)據(jù)讀入R語言并轉(zhuǎn)換成數(shù)據(jù)框

使用三個(gè)for循環(huán)來完成,這是第一個(gè)for循環(huán)。

1. 把所有數(shù)據(jù)讀入在一個(gè)文件夾中

dir.create("data_in_one") #創(chuàng)建目標(biāo)文件夾,也可右鍵創(chuàng)建
dir("rawdata/") #查看原路徑的內(nèi)容
for (dirname in dir("rawdata/")){ ?
? ## 1.要查看的單個(gè)文件夾的絕對(duì)路徑
? mydir <- paste0(getwd(),"/rawdata/",dirname)
? ## 2.找到對(duì)應(yīng)文件夾中的文件并提取名稱,pattern表示模式,可以是正則表達(dá)式
? file <- list.files(mydir,pattern = "*.counts")
? ## 3.當(dāng)前文件的絕對(duì)路徑是
? myfile <- paste0(mydir,"/",file)
? ## 4.復(fù)制這個(gè)文件到目的文件夾
? file.copy(myfile,"data_in_one") ?
}

2. 尋找TCGA ID并讓文件名稱和TCGA ID保持一致。

第二個(gè)for循環(huán)。文件名稱和TCGA ID的對(duì)應(yīng)關(guān)系,藏在了metadata中。

metadata <- jsonlite::fromJSON("data/metadata.cart.2021-05-28.json")
metadata_id <- metadata[,c("file_name","associated_entities")]
## 1.準(zhǔn)備容器,已經(jīng)存在,我們把新數(shù)據(jù)添加在第三列
metadata_id
## 2.循環(huán)操作
for (i in 1:nrow(metadata_id)){
  print(i)
  metadata_id[i,3] <- metadata_id$associated_entities[i][[1]]$entity_submitter_id
}
## 重新命名
colnames(metadata_id)[3] <- "TCGA_id"

行排序,為了把文件名稱和TCGA_id對(duì)應(yīng)起來。讀入的順序和復(fù)制到新路徑的順序不一致,這一步的目的是讓其保持一致。

rownames(metadata_id) <- metadata_id[,1]
metadata_id <- metadata_id[files,]

3. 輸入文件名并提取文件的第二列(counts列)

#install.packages("data.table")
#構(gòu)建函數(shù)
myfread <- function(files){
  data.table::fread(paste0("data_in_one/",files))$V2
}
## 測(cè)試文件
test <- myfread(files[1])

4.1 使用for循環(huán)來批量讀入并整合到一個(gè)數(shù)據(jù)框。

## 1.創(chuàng)建容器
gene_id <- data.table::fread(paste0("data_in_one/",files[1]))$V1
expr_df <- data.frame(gene_id=gene_id)
## 2.按照列讀入
for (i in 1:length(files)){
? print(i)
? expr_df[,i+1] = myfread(files[i])
}

## 增加列名
colnames(expr_df) <- c("gene_id",metadata_id$TCGA_id)

### 意外發(fā)現(xiàn)
tail(expr_df$gene_id,10)
### 去掉最后5行
(nrow(expr_df)-5)
expr_df <- expr_df[1:(nrow(expr_df)-5),]
save(expr_df,file = "output/BRCA_RNASEQ_exprdf.Rdata")

4.2 使用lapply + function 模式

1.函數(shù)

myfread <- function(files){
  data.table::fread(paste0("data_in_one/",files))$V2
}
### 2.lapply
dd = lapply(files,myfread)
### 3.do.call
expr_df = as.data.frame(do.call(cbind,dd))
### 4.添加名稱
colnames(expr_df) = metadata_id$TCGA_id
rownames(expr_df) = data.table::fread(paste0("data_in_one/",files[1]))$V1

到此這篇關(guān)于R語言批量讀取某路徑下文件內(nèi)容的方法的文章就介紹到這了,更多相關(guān)R語言批量讀取文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • R語言操作X軸日期實(shí)例講解

    R語言操作X軸日期實(shí)例講解

    這篇文章主要介紹了R語言操作X軸日期實(shí)例講解,圖文描述的很清楚,有感興趣的同學(xué)可以研究下
    2021-03-03
  • R包制作后出現(xiàn)not available for錯(cuò)誤問題解決解決

    R包制作后出現(xiàn)not available for錯(cuò)誤問題解決解決

    這篇文章主要為大家介紹了R包制作后出現(xiàn)not available for...錯(cuò)誤的問題解決方式,有需要的朋友,可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • R語言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)

    R語言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)

    這篇文章主要介紹了R語言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言利用loess如何去除某個(gè)變量對(duì)數(shù)據(jù)的影響詳解

    R語言利用loess如何去除某個(gè)變量對(duì)數(shù)據(jù)的影響詳解

    這篇文章主要給大家介紹了關(guān)于R語言利用loess去除某個(gè)變量對(duì)數(shù)據(jù)的影響的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • R語言ggplot2?title設(shè)置教程(main,axis和legend?titles)

    R語言ggplot2?title設(shè)置教程(main,axis和legend?titles)

    ggplot2是一個(gè)強(qiáng)大的作圖工具,它可以讓你不受現(xiàn)有圖形類型的限制,創(chuàng)造出任何有助于解決你所遇到問題的圖形,下面這篇文章主要給大家介紹了關(guān)于R語言ggplot2?title設(shè)置(main,axis和legend?titles)的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • R語言利用plot()函數(shù)畫圖的基本用法

    R語言利用plot()函數(shù)畫圖的基本用法

    這篇文章主要給大家介紹了關(guān)于R語言利用plot()函數(shù)畫圖的基本用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言開發(fā)之輸出折線圖的操作

    R語言開發(fā)之輸出折線圖的操作

    這篇文章主要介紹了R語言開發(fā)之輸出折線圖的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言統(tǒng)計(jì)結(jié)果輸出至本地文件的幾種方法示例

    R語言統(tǒng)計(jì)結(jié)果輸出至本地文件的幾種方法示例

    這篇文章主要給大家介紹了關(guān)于R語言統(tǒng)計(jì)結(jié)果輸出至本地文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言 如何獲取指定位置的數(shù)據(jù)

    R語言 如何獲取指定位置的數(shù)據(jù)

    這篇文章主要介紹了R語言 如何獲取指定位置的數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言常用兩種并行方法之parallel詳解

    R語言常用兩種并行方法之parallel詳解

    這篇文章主要為大家介紹了R語言常用兩種并行方法之parallel方法的詳解,有需要的朋友可以借鑒C參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日甚至加薪
    2021-11-11

最新評(píng)論