亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將多個CSV文件讀入單獨的數據框

將多個CSV文件讀入單獨的數據框

翻過高山走不出你 2019-08-31 16:08:02
假設我們在目錄C:\ R \ Data中有文件file1.csv,file2.csv,...和file100.csv,我們希望將它們全部讀入單獨的數據框(例如file1,file2,...和file100)。這樣做的原因是,盡管具有相似的名稱,但它們具有不同的文件結構,因此將它們放在列表中并不是那么有用。我可以使用lapply但返回包含100個數據幀的單個列表。相反,我想在全球環境中使用這些數據框。如何直接將多個文件讀入全局環境?或者,或者,如何將數據框列表的內容解壓縮到其中?
查看完整描述

3 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

快速草案,未經測試:

  1. 使用list.files()aka dir()動態生成文件列表。

  2. 這將返回一個向量,只是在for循環中沿向量運行。

  3. 讀取第i個文件,然后使用assign()將內容放入新變量file_i

這應該為你做的伎倆。


查看完整回答
反對 回復 2019-08-31
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

謝謝大家的回復。


為了完整性,這里是我加載任意數量(制表符)分隔文件的最終答案,在這種情況下有6列數據,其中第1列是字符,2是因子,余數是數字:


##Read files named xyz1111.csv, xyz2222.csv, etc.

filenames <- list.files(path="../Data/original_data",

    pattern="xyz+.*csv")


##Create list of data frame names without the ".csv" part 

names <-substr(filenames,1,7))


###Load all files

for(i in names){

    filepath <- file.path("../Data/original_data/",paste(i,".csv",sep=""))

    assign(i, read.delim(filepath,

    colClasses=c("character","factor",rep("numeric",4)),

    sep = "\t"))

}


查看完整回答
反對 回復 2019-08-31
  • 3 回答
  • 0 關注
  • 788 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號