2016-04-13 89 views
-2

我有超過200個CSV文件。每個文件都有150列和1000行。每個文件都按產品名稱命名。 每個文件都爲數據集提供了一個標誌,用於不同列中各種類別的不同項目。其中一列是整個類別中每個項目的總使用量。以下是該數據集的示例:跨多個文件運行功能

Values A B C 
    1  Y 
    2   Y 
    3  Y Y 
    4   Y 

我昨天問了一個問題,並且收到了關於如何獲得以下結果的幫助。

 Count Sum 
A  2  4 
B  1  2 
C  2  7 

基本上我想的計數列給我的「Y」對於A,B,和C,和求和列中的數字給我總和從每次的使用列有一個「Y 「在列A,B和C

現在我對步驟2有疑問 - 我已將所有文件放入一個文件夾中。我想要做的是使用上述結果,將其應用於每個文件中,然後按文件和類別對答案進行分組。例如

File 1 Count A Sum A Count B Sum B Count C Sum C 
File 2 Count A Sum A Count B Sum B Count C Sum C and so on. 

我該怎麼在R中做到這一點?我搜索了論壇,並發現循環有幫助,但我不知道如何將結果合併爲一個。

回答

0

如果你分享一個可重現的例子,並且如果它的後續問題鏈接到原始問題,那麼它確實有幫助。

這裏有一些有用的信息,你應該讓你開始,然後當你有一個特定的絆腳石,我建議你重做這個問題。

Looping over files

filenames = dir(pattern="*01.csv") 
for(i in 1:length(filenames)) 
{ 
    ... 

Merging data

這實在不是一個好主意,但是如果你想要做的是這樣,我想你可以嘗試:

for (i in 1:10) { 
    df <- rbind(df, data.frame(x = i, y = toString(i))) 
} 

注意在你的代碼中,還有另一個問題:

你s如果您希望字符不能轉換爲因素,請使用stringsAsFactors。使用:df = data.frame(x = numeric(),y = character(),stringsAsFactors = FALSE)

+0

我嘗試了遍歷文件,但我錯過了一些東西。當我「運行」它,它看起來好像在做什麼,但我沒有看到任何結果。另外,我如何獲得每個文件返回的結果? – jalsa