![](/img/trans.png)
[英]R: Reading and writing multiple csv files into a loop then using original names for output
[英]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.