Büyük veri kümem var (ancak aşağıdaki örnek küçüktür). Veri çerçevesini bölebilir ve daha sonra bölmek için kullanılan lavel'e karşılık gelen çoklu metin dosyasına çıkış yapmak istiyorum. Veri dosyalarını birden çok çıktı dosyasına bölme
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
Şimdi
outputc
,
outputk
ve
outputl
adına write.table istiyorum
> 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
bölün. Böylece çıktı, ortak önek ve ardından değişken gruplama için etiketin adıdır. spt1 adlarının üzerine lapply kullanma
write.table (spt1)
Belki de dikkat çekmeye değer: OP çıktıdaki var1'i korumak istiyor ama '.SD' içermiyor. C (.BY, .SD) 'yi (eğer işe yarayıp yaramadığından emin değilseniz) ya da yeni' split.data.table' yöntemini (şu anda https://github.com/Rdatatable/data versiyon sürümünde) kullanabilirsiniz. table/issues/1389) – Frank