큰 데이터 세트가 있습니다 (예 : 작은 데이터 세트). 나는 데이터 프레임을 나눌 수 있으며 분할에 사용 된 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에 있습니다). 표/문제/1389) – Frank