2016-10-23 2 views
0

에 의해 세 가지 차원 배열을 분리, 난 당신이 단순히나는 UCBAdmissions 데이터 세트로 작업하고있는 층화 변수

>UCBAdmissions 
, , Dept = A 

     Gender 
Admit  Male Female 
Admitted 512  89 
Rejected 313  19 

, , Dept = B 

     Gender 
Admit  Male Female 
Admitted 353  17 
Rejected 207  8 

, , Dept = C 

     Gender 
Admit  Male Female 
Admitted 120 202 
Rejected 205 391 

, , Dept = D 

     Gender 
Admit  Male Female 
Admitted 138 131 
Rejected 279 244 

, , Dept = E 

     Gender 
Admit  Male Female 
Admitted 53  94 
Rejected 138 299 

, , Dept = F 

     Gender 
Admit  Male Female 
Admitted 22  24 
Rejected 351 317 

내가 실행할 때 당신이 얻을 것을 6 개 부서 테이블에 데이터 세트를 분리 할 꽤 데이터 프레임을 데이터 세트로 만들 수 있고, 부서와 합계를 통해 grep을 작성하여 표를 만들 수 있지만 더 쉬운 방법이 있는지 궁금합니다. 데이터가 이미 원하는 형식으로 설정되어 있습니다. 각 부서별 테이블을 개별적으로 처리해야합니다.

답변

0

아, 죄송합니다. 질문을 잘못 읽었습니다. 이것을 데이터 프레임으로 변환하지 않고 분할하는 것을 원하지 않습니다. for 루프

setNames(lapply(1:dim(UCBAdmissions)[3], function (i) UCBAdmissions[,,i]), 
     dimnames(UCBAdmissions)[[3]]) 

#A 
#   Gender 
#Admit  Male Female 
# Admitted 512  89 
# Rejected 313  19 
# 
#$B 
#   Gender 
#Admit  Male Female 
# Admitted 353  17 
# Rejected 207  8 
# 
#$C 
#   Gender 
#Admit  Male Female 
# Admitted 120 202 
# Rejected 205 391 
# 
#$D 
#   Gender 
#Admit  Male Female 
# Admitted 138 131 
# Rejected 279 244 
# 
#$E 
#   Gender 
#Admit  Male Female 
# Admitted 53  94 
# Rejected 138 299 
# 
#$F 
#   Gender 
#Admit  Male Female 
# Admitted 22  24 
# Rejected 351 317 
+0

감사에 간다

당신은 사용할 수 있습니다! 나도 알아 냈어 대답을 찾으면 각 테이블에 개별적으로 액세스 할 수있다. UCBAdmissions [,, 1] # 제공 부서 A UCBAdmissions [,, 2] # 제공 부서 B UCBAdmissions [,, 3] #provides dept C UCBAdmissions [,, 4] # devpt D UCBAdmissions [,, 5] #가 제공합니다 E UCBAdmissions [,, 6] #은 F를 제공합니다 –

0

당신은 assign를 사용할 수 있습니다 :

for (i in 1:6){assign(LETTERS[i], UCBAdmissions[,,i])} 

A 
#   Gender 
# Admit  Male Female 
# Admitted 512  89 
# Rejected 313  19 

을하고 같은 B, C, D, E 및 F

관련 문제