2016-10-30 4 views
-1

私は他の質問のデータセットの例を最小限にしようとしています。 現在、私はファイル名のリストを持つため複雑すぎる以下とerrorproneを持っており、完全なファイル名のためにそれらを追加Rでループ可能な文字列リストを作成するには?

data = read.csv("/home/masi/dataList.csv",header = FALSE,sep = ",") 
i = 1 
for (d in data) { 
     data[i] = paste("/home/masi/Documents/CSV/", d, sep="") 
     i = i + 1 
} 

dataList.csv

P103C1.csv 
P103C2.csv 
P111C1.csv 

最初の列にものを持っている擬似コード転置することはできますが、それでもループすることはできませんfor (d in data) {...};そして再び

data = t(c("P103C1.csv" "P103C2.csv" "P111C1.csv")) 

i = 1 
for (d in data) { 
     data[i] = paste("/home/masi/Documents/CSV/", d, sep="") 
     i = i + 1 
} 

を追加すると、実際に、私は転置を持つことが良いアイデアではない、より良いと簡単な方法が存在するべきだと思います。

期待される出力data = read.csv("/home/masi/dataList.csv",header = FALSE,sep = ",")に相当するもの。

OS:Debianの8.5
はR:3.1.1

+0

あなたの質問は全くわかりません。 –

+0

@ChirayuChamoli予想される出力を追加しました。明確でないものを指定できますか? –

+0

@ZheyuanLiありがとうございます!コメントから削除し、明示的に独自のブロックとして追加しました。 –

答えて

1

あなたはすでにdatalist.csv内のすべてのファイルを持っているとして、この場合には、文字列を作成する必要がいけません。 datalist.csvからリストを作成し、ループにフィードします。

listoffiles=list("P103C1.csv","P103C2.csv","P111C1.csv") 
files=list() 

for(i in 1:length(listoffiles)){ 
    files[[i]]=read.csv(listoffiles[[i]], header = F, sep = ',') 
    } 
+0

パーフェクト!セパレータだけを空にする必要があります。 'sep =" "'は動作します。 –

+0

そのsepを最初の 'read.csv'行を見てみましょう。私の悪い。 –

関連する問題