2017-06-05 9 views
-1

私は8種類のCSVファイルからデータフレームを出力する関数を作ろうとしています。それらはすべて同じ変数と同じ種類のデータを持っています。それらの唯一の違いは年です。私は関数を書くことを試みたが、私はそれを動作させるように見えない。私は嘆かわしいwoulfの仕事を考えていますが、私はそれをどのように組み込むかはわかりません。RのCSVファイルからデータフレームを返す関数を作成しますか?

以下の命令があります。 '年'引数を取る 'air'という名前の関数を記述し、その年のそのデータを含むdata.frameを返し、要因への自動変換を抑制します。

path <- "C:/Users/Lacy Macc/Downloads/adviz/" 
files <- list.files(path=path, pattern="*.csv") 
for(y in files) 
air <- function(year){ 
    if (!exists("")) 
    } 
} 
+0

'do.call(rbind、lapply(list.files(path = path、pattern = 'csv $')、read.csv))'あなたの指示に従って、あなたが望むものにファイルのベクトルをサブセット化します。 – alistaire

+0

私はそれを関数に追加するのか、それともそれ自身のものになるのでしょうか? – lacymacc5552

+0

そのコードは 'path'フォルダ内のすべてのファイルを読み込み、それらを単一のデータフレームに結合します。しかし、指示に基づいて、それはあなたが必要とするものではない、あなたは正しい年に対応するデータを読んで返すだけです。ファイルの命名規則の例とその年の対応方法を教えてください。 – Marius

答えて

0

各ファイルのファイル名を変えた場合は、list.filesを使用すると、年間のマッチング1を識別するために、ファイル名を検索する必要がある場合があります。私がとる関数にこれを変換する方法の詳細を残してきた

path <- "C:/Users/Lacy Macc/Downloads/adviz/" 
year <- 2013 
file_path <- paste0(path, "ad_viz_plotval_data-", year, ".csv") 

:しかし、固定ファイル名のスキームで、あなたがする必要があるのは、ファイル名に適切な時点で今年の挿入であります私はこれが宿題かもしれないと思っていますQ.

関連する問題