data_1.csv:
ID, time, A, B
1, 0, 1.2, 9
2, 1, 1.5, 7
3, 3, 2.3, 5
4, 4, 3.1, 4
data_2.csv:
ID, time, A, B
1, 0, 0.9, 11
2, 2, 1.2, 2
3, 4, 2.3, 3
4, 5, 3.7, 2
file_list  <- c('data_1.csv', 'data_2.csv')
table_list <- vector('list', length(file_list))
for (i in seq_along(file_list))
    table_list[[i]] <- read.csv(file_list[[i]])
out_f = function(data, pullution_type, filter_ID)
{
  s <- 0
  for (i in seq_along(data))
  {
      s <- s + sum(subset(data[[i]],
          ID %in% filter_ID)[[pullution_type]])
  }
  return(s)
}
out_f(table_list, 'A', 1:2) # 4.8
※ 引述《clansoda (小笨)》之銘言:
:          是這樣的,導師給我們的題目是他給一個資料擁有332個CSV檔案
:          這個在文章裡面提過,每個CSV檔案都有四個變數分別是時間
:          、兩種空氣汙染假設為汙染A和汙染B都是numeric變數、最後是ID變數。
:          主要是要寫出一個function讓跑出來的數值會是汙染變數的平均數。
:          最後的結果要是function(data進去,指定A汙染或B汙染,ID 例如2:70)
:         function出來以後會是某個數值,就是A汙染或者B汙染在2到70號
:         CSV的數值總和然後平均 ,我現在的問題是如果我寫function
:         以後後面的變數要怎麼設定才會是讓使用者填入資料,因為課堂上
:         教的都是給一個X或Y值然後變數裡面關聯變數來計算但是沒看過
:         還可以讓使用者選要填入變數名稱的所以不知道該如何寫起。就是第二個
:         argument讓使用者填入A汙染或B汙染其中一種,這個不知道要怎麼寫前面
:         的argument好讓使用者填入。