2017-04-21 54 views
0

我有數據文件類似如何將數據從存儲函數read.table變量數組

class1 class2 .... 
1  1  .... 
2  1 

如果我嘗試讀取這樣

var <- read.table("file path", sep="\t",header=TRUE) 

它工作正常的數據文件,這樣我就可以使用'var'變量訪問數據。 但是,如果我嘗試讀取使用變量列表像這樣使用循環的數據,

var <- c() 
for(file in list.files(path="inputDir")){ 
    i <- i+1 
    var[i] <- read.table("file path", sep="\t", header=TRUE) 
} 

我只得到該文件的第一列,並不能獲得該文件的全部數據。

我是否必須製作單獨的變量,如var1,var2,...?我不能使用var[i]

+0

所以你想在你的R環境中使用'Class1 < - c(1,2)'和'Class2 < - c(1,1)'? –

回答

1

隨着

var <- c() 

創建(數值)載體。我猜導入的數據也被強制轉換爲這種格式,這就是爲什麼你只看到'一列'。

你想要的是一個清單:

var <- list() 

確保用雙括號指數它之後,就像這樣:

var[[i]] = ... 
+0

完美運作。謝謝你! – user2659088

1

您應該使用list做這樣的工作。 data.frame只能存儲具有相同行的變量。

var <- list() 
i <- 1 
for(file in list.files(path="inputDir")){ 

    var[[as.character(i)]] <- read.table("file path", sep="\t", header=TRUE) 
    i <- i+1 
} 

我希望這會幫助你。

我不這樣做,如果這些代碼可以正常工作,並且可以根據錯誤報告進行調試。 如果你真的不知道該怎麼做,你應該給一些示例文件,這樣每個人都可以爲你調試。

+0

「list()」與「[[i]]」工作。謝謝你! – user2659088