r은

2017-04-18 1 views
0

는 문제 : 루프r은

내 내 dataframe 통해 반복 할 나타나지 않습니다. 내 디버그 인쇄 라인을 때 모든 것을 인쇄하기 때문에이 생각합니다. 용의 코드는 자신의

목표 내가 오히려 큰 데이터 세트에있는 모든 그룹에 대한 상관 관계를 실행하려면

에서 작동합니다. 이 코드는 고유 한 경로 목록 (var3)을 반복하고 모든 경로에서 상관 관계를 실행합니다.

데이터 프레임 설정 : 내가 코드를 실행하면

df.1 
id var1 var2 var3 
1 23 2.1 "this" 
2 32 2.2 "is" 
3 13 2.3 "is" 

코드는

# reduce size 
directory.df$var1<-format(round(directory.df$var1/1000,1),nsmall=1) 
directory.df$var2<- format(round(directory.df$var2/1000,1),nsmall=1) 

df.1 <- unique(directory.df$var3) 
df.1 <- data.table(unique.directories) 

for (current.dir in df.1) 
{ 
print (current.dir) 
directory.group <- subset(directory.df, var3 == current.dir) 
directory.group$var1<- as.numeric(directory.group$var1) 
directory.group$var2<- as.numeric(directory.group$var2) 

## correlation ## 
cor(directory.group$var1, directory.group$var2) 
} 

, 인쇄 (current.dir)의 전체 목록을 인쇄합니다. 마치 for (current.dir.1의 current.dir)의 첫 번째 행이 var3의 모든 값을 가져 와서 current.dir에 넣는 것처럼 보입니다.

+0

을 없애'df.1은 <- data.table (unique.directories)' – Ista

+0

는'에 대한 (df.1에서 current.dir)는'의지 각 열 (이상 기본적으로 루프는 그 중 하나가 이 경우). 왜냐하면'df.1'은 본질적으로리스트이고 각 컬럼은리스트의 요소이기 때문입니다. – joran

+0

샘플 데이터'df.1'은 실제로'directory.df'입니까? 그리고'df.1'은'directory.df $ var3'의 유일한 값들의 배열입니까? 입력 내용이 무엇인지 또는 질문과 관련이없는 추가 코드가 있는지는 분명하지 않습니다. – manotheshark

답변

0

이 줄을 제거하기 만하면되었습니다. df.1 < - data.table (unique.directories)이 효과적이었습니다.

# reduce size 
directory.df$var1<-format(round(directory.df$var1/1000,1),nsmall=1) 
directory.df$var2<- format(round(directory.df$var2/1000,1),nsmall=1) 

df.1 <- unique(directory.df$var3) 

for (current.dir in df.1) 
{ 
print (current.dir) 
directory.group <- subset(directory.df, var3 == current.dir) 
directory.group$var1<- as.numeric(directory.group$var1) 
directory.group$var2<- as.numeric(directory.group$var2) 

## correlation ## 
cor(directory.group$var1, directory.group$var2) 
}