簡體   English   中英

轉換多個 csv。 將文件轉換為具有原始名稱的多個矩陣 R

[英]Converting multiple csv. files into multiple matrixs with original names in R

我有 20 個 csv。 帶有 data.frames 的文件,並且想要將每個 dataframe 中的一列 (logF0) 轉換為 20*16 矩陣。 結果應該是 20 個 20*16 矩陣,我希望矩陣的名稱可以與 csv 相同。 文件。 我想我可以使用一個循環首先將 dataframe 分別轉換為矩陣:

files_list<-list.files("my_path", full.names = TRUE, pattern = "*.csv") 
for(i in 1: length(files_list))
{dat<-data.frame()
  mat<-matrix()
  file[i]<-rbind(dat, read.csv(files_list[i]))
  mat[i]<-rbind(mat, matrix(file[i]$logF0, nrow=20, byrow = F))}

不行,感覺file[i]mat[i]的命名有問題但是不知道怎么解決,也不知道怎么給matrix取原來的名字在 csv 中。 文件。

你可以使用:

all_data <- lapply(files_list, function(file) {
   df <- read.csv(file)
   matrix(df$$logF0, nrow = 20)
})

如果你想給這個列表名稱,你可以這樣做:

names(all_data) <- sub('\\.csv', '', basename(file_list))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM