2015-01-09 2 views
3

루프를 사용하여 여러 데이터 프레임에서 기능 (또는 설정)을 실행하는 곳에서 쓰고 있습니다. 내가 이것을 html로 (RStudio에서) 짜 넣었을 때 (a) 루프 변수를보고 (b) 생성 된 출력을 볼 수 있기를 바랍니다. 나는 덩어리가 그래서 경우 :출력 R 루프 내용 및 니트 html로 출력

```{r} 
dflist <- list(ISEQ0=ISEQ0,ISEQ1=ISEQ1,ISEQ2=ISEQ2,ISEQ3=ISEQ3) 
for(i in dflist){ 
head(i) 
} 
``` 

편물 한 문서를 표시합니다 :

머리 (ISEQ0)

을 ............... . (헤드 함량)

헤드 (ISEQ1)

.................. (헤드 함량)

등등. 나는 stackoverflow, 문서 및 일반 websearches 좀 했어 플롯 루프 (작동하는 것)에 대한 참조를 볼 수 있지만 내가보기 엔 이런 종류의 루프에 아무것도. 여기서 나의 목적은 서로 다른 데이터 세트에 대한 일련의 통계를 실행하는 것입니다 (적용하는 것보다 루프에 더 익숙하며 여기서는 차이가 없다고 생각합니다). 이는 아마도 꽤 일반적인 유스 케이스라고 생각합니다. 아래에 의견을 당으로

, 난 예상대로 짧은 버전 일 것 같다 : 을 여전히 내 전체 덩어리에서 작동하지 않는 뭔가있다

ISEQList <- list(ISEQ0=ISEQ0,ISEQ1=ISEQ1,ISEQ2=ISEQ2,ISEQ3=ISEQ3) 
for(ISEQData in ISEQList){ 
print(head(ISEQData)) 
print(cor(ISEQData)) 
} 

(나는 첫 번째 반복을 얻을) 그러나 전체 덩어리가 아닙니다. 나는 cat과 print를 시도해 보았는데, 나는 print (작동하지 않는 cor (ISEQData))를 얻으려고 애썼다. 그래서 산출물을 변수로 저장하는지 궁금해했다. 도움이 될 것입니다 - 보이지 않는 것, 그들은 모두 아래의 덩어리가 저장하지 않아도됩니다. 나는 하나씩 짧은 덩어리로 기능을 옮겨 왔고, 나는 모든 것이 VSS 이후에 문제가 있다고 생각합니다. ..하지만 그 이유를 이해하지 못하는

for(ISEQData in ISEQList){ 
    n <- n +1 
a <- cor(ISEQData) 
###################################Explore factor options############## 
b <- vss(ISEQData,n=9,rotate="oblimin",diagonal=F,fm="ml") 
c <- EFA.Comp.Data(Data=ISEQData, F.Max=9, Graph=T) #uses EFA Comparison Data.R 
d <- fa.parallel(ISEQData) 
# Determine Number of Factors to Extract using N Factors library 
ev <- eigen(cor(ISEQData)) # get eigenvalues 
ap <- parallel(subject=nrow(ISEQData),var=ncol(ISEQData),rep=100,cent=.05) 
nS <- nScree(x=ev$values, aparallel=ap$eigen$qevpea) 
pnS <- plotnScree(nS) 
####################################################### 
for(x in 2:5){ 
    assign(paste0("fitml",x,"ISEQ",n),fa(r = ISEQData, nfactors = x, rotate = "oblimin",  fm = "ml",residuals=T)) 
} 
e<-fitml2$loadings 
f<-fitml3$loadings 
m<-fit # print results 
p<-factor.scores(ISEQData,fit) 
q<-factor.stats(f=fit) 
r<-fa.diagram(fit) 
} 

답변

2

당신은 print 또는 cat 출력 강제로 사용해야합니다.!

```{r} 
for(i in seq_along(dflist)){ 
print(paste('head data set:' , names(dflist)[i])) ## sub title 
print(head(dflist[[i]]))        ## content 
cat(rep("*",20),'\n')        ## separator 
} 
``` 
+0

덕분에 @agstudy 난 그냥 인쇄를 살펴 했어 cat 도움말은 루프의 모든 것을 둘러 쌀 수있는 인쇄물입니다. '인쇄 (붙여 넣기 (nrow (I)을 NcoI (I : (전에서 LIS) { 인쇄 ({ 머리 (I) nrow (I) 에는 NcoI (I) }) } 같은 – sjgknight

+0

사용 뭔가 )))'나는 당신이 아닌 내 곳입니다. – agstudy

+0

아! 나는 이것이 실제로 knitr에 관한 것이 아니라는 것을 깨달았습니다. 그 값들은 결코 루프에 인쇄되지 않을 것입니다. 물론 그들은 니트 도드에 있지 않을 것입니다. 내 전체 코드 블록에서 출력을 생성하는 한 줄에 print 및 cat 메서드를 모두 시도했지만 첫 번째 반복을 인쇄했지만 후속 인쇄는하지 않습니다. 내가 예상대로 이 작동 : 을 (ISEQList에서 ISEQData)에 대한 { 인쇄 (헤드 (ISEQData)) 인쇄 (COR (ISEQData)) } 하지만 내 이상 코드 청크/루프 그렇지 않습니다 . 조금만 더 연주하자. (우연히 이걸 입력해라.) – sjgknight