私は大きなデータセットを持っています(しかし、以下は小さなものです)。私は、データフレームを分割することができますし、私は分割に使用されるlavelに対応する複数のテキストファイルに出力したいです。データフレームを複数の出力ファイルに分割
mydata <- data.frame (var1 = rep(c("k", "l", "c"), each = 5), var2 = rnorm(5),
var3 = rnorm(5))
mydata
var1 var2 var3
1 k 0.5406022 0.3654706
2 k -0.6356879 -0.9160001
3 k 0.2946240 -0.1072241
4 k -0.2609121 0.1036626
5 k 0.6206579 0.6111655
6 l 0.5406022 0.3654706
7 l -0.6356879 -0.9160001
8 l 0.2946240 -0.1072241
9 l -0.2609121 0.1036626
10 l 0.6206579 0.6111655
11 c 0.5406022 0.3654706
12 c -0.6356879 -0.9160001
13 c 0.2946240 -0.1072241
14 c -0.2609121 0.1036626
15 c 0.6206579 0.6111655
は、今私はoutputc
、outputk
、およびoutputl
の名前にはwrite.tableしたい
> spt1 <- split(mydata, mydata$var1)
> spt1
$c
var1 var2 var3
11 c 0.5406022 0.3654706
12 c -0.6356879 -0.9160001
13 c 0.2946240 -0.1072241
14 c -0.2609121 0.1036626
15 c 0.6206579 0.6111655
$k
var1 var2 var3
1 k 0.5406022 0.3654706
2 k -0.6356879 -0.9160001
3 k 0.2946240 -0.1072241
4 k -0.2609121 0.1036626
5 k 0.6206579 0.6111655
$l
var1 var2 var3
6 l 0.5406022 0.3654706
7 l -0.6356879 -0.9160001
8 l 0.2946240 -0.1072241
9 l -0.2609121 0.1036626
10 l 0.6206579 0.6111655
を分割します。したがって、出力は一般的な接頭辞の後に変数をグループ化するためのラベルの名前が続きます。 SPT1の名前の上にlapply使用
write.table (spt1)
また、OPは出力に 'var1'を残そうとしていますが、' .SD'はそれを含んでいません。 'c(.BY、.SD)'(それが動作するかどうかは分かりません)または新しい 'split.data.table'メソッドを使うことができます(現在develバージョンhttps://github.com/Rdatatable/dataにあります)。テーブル/ issue/1389) – Frank