2016-04-28 5 views
1

こんにちは、私はRプログラミングでは新しいです。r reshape2パッケージのワイドからロングフォーマットのエラー

私は長い形式に広いからデータのリストを変更したいが、次のようにエラーが出てくる:へ

EA UU AR 
0.455 1.106 0.568 
1.406 0.710 0.262 
1.124 1.406 0.312 

変更:次のように

EA 0.455 
EA 1.406 
EA 1.124 
UU 1.106 
UU 0.710 
UU 1.406 
AR 0.568 
AR 0.262 
AR 0.312 

私が使用するコードです:出てくる

files <- list.files(path = ".", pattern = "*.txt", all.files = TRUE, full.names = FALSE, recursive = FALSE) 

listy <- lapply(files, read.csv) 

melt(listy) 

write.table(melt(listy), file = "listofdata.txt", quote = FALSE, sep = " ", row.names = FALSE, col.names = FALSE) 

エラーは以下のとおりです。

No id variables; using all as measure variables 

No id variables; using all as measure variables 

No id variables; using all as measure variables 

No id variables; using all as measure variables 

No id variables; using all as measure variables 

No id variables; using all as measure variables 

ありがとうございました。

答えて

0

listdata.framesの場合は、listの各要素内でmeltを実行します。

listN <- lapply(listy, function(x) melt(x)) 

OPが出力を1つのファイルまたは複数のファイルに書き込むかどうかは不明です。

それは単一のファイル、rbindがある場合は、単一のものにdata.frameslistと、これは「DFNのnamesて、その後、別のファイルとしてループになった場合、その後、write.csv

dfN <- do.call(rbind, listN) 
write.csv(dfN, "dataLong.csv", row.names=FALSE, quote=FALSE) 

を使用しますが、 'とそれ

lapply(names(listN), function(nm) write.csv(listN[[nm]], 
       paste0(nm, ".csv", row.names=FALSE, quote=FALSE) 
+0

感謝を書きますが、私はlistN <尋ねることができます - lapply(listy、関数(x)がメルト(X))、機能(x)とを(x)は、xがこのケースでの略融解ありますか? x =リストー? –

+0

@PeterChung 'x'はリスト要素をループしているときに' listy'の各要素を表します。 – akrun

+0

申し訳ありませんが私の不器用な、私はそれを取得しません。だからlapply()内の関数は何ですか?私は、分離されたファイルからのデータのリストを持っていて、Rに集まり、それらをワイドフォーマットからロングフォーマットに変更し、単一のファイルとして出力したいと考えました。 –

関連する問題