2017-08-30 17 views
0

という名前のデータフレームをインポートします.NamesNameとNickNameという名前のデータフレームがあり、そのNickNameに対して3つのParam Namesをすべて読み取る必要があります。次に、これらのParam Namesをフォルダ内で一致させ、RStudioでそれらの.csvファイルをロードします。 次のように私のDATAFRAMEがある:複数のCSVファイルをフォルダからインポートするには、

enter image description here

そして、私のファイルは、フォルダ内に次のようになります。 enter image description here

だから、任意の提案やヘルプは素晴らしいことだろう。

+0

データフレームをニックネームで分割し、各ニックネームの3つのファイルすべてを単一のデータフレームに集約して出力します。 –

+0

データフレームで使用できるファイル名と一致するファイルをフォルダから読み取る方法はこれがわかりません。 @Tim。この操作を実行するには2,3行のスクリプトで私を更新してください。 –

+0

ここにあなたの実際の出力は何ですか?ニックネームごとに1つのCSVファイル、または別のものがありますか? –

答えて

1

ニックネームでデータフレームを分割すると、それぞれのニックネームに関連付けられたファイルに対応するデータフレームのリストが生成されます。そのような各データフレームを繰り返し処理して、そのニックネームのすべてのファイルを集約した単一のデータフレームを生成することができます。このような何か:

read_and_combine <- function(x) { 
    result <- NULL 
    for (i in 1:nrow(x)) { 
     new_df <- read.csv(file=x$ParamName[i], header=TRUE, sep=",") 
     if (is.null(result)) { 
      result <- new_df 
     } 
     else { 
      result <- rbind(result, new_df) 
     } 
    } 

    return(result) 
} 

df_list <- split(Names_and_Nicks, Names_and_Nicks$NickName) 
df_combined <- lapply(df_list, read_and_combine) 

この時点df_combinedでは、単一のニックネームに対応するすべてのファイルの行が含まれ、それぞれがデータフレームのリスト、でなければなりません。

+0

df_listはlist型であり、関数はそれを受け入れません。 nrow(df_list)がNULLを返します –

+0

なぜあなたは 'nrow'をリストに入れていますか?リストには行がありません。 _exact_コードを試しましたか? –

+0

いいえ、私はあなたのものを正確に使用しましたが、それは時間をたくさん取っていたので、何か他のものを試しました。私はリストには何もないと知っています。 –

関連する問題