2016-07-12 2 views
1

단순한 것처럼 보이지만 검색하는 동안 해결책을 찾을 수 없습니다.R : 벡터의 각 요소마다 벡터 반복 벡터

각 Diamond_ID에 대해 다음 벡터를 데이터 프레임 아래로 반복 할 수 있기를 원합니다.

나는이 :

DIAMOND_ID <- c(1,2,3,4,5) 
MY_MONTHS <- c(201501,201502,201503,201504,201505,201506) 

을 따라서 각 다이아몬드 ID를 들면, 달 벡터 반복 것, 이상적인 솔루션이 같은 dataframe 것, 즉 :

enter image description here

나는이 상상 루프 함수인가요? R의 첫 주입니다.

미리 감사드립니다.

+1

'expand.grid (DIAMOND_ID, MY_MONTHS)은'기본적으로 -이 비록 중복 확신합니다. – thelatemail

+0

아마 - http://stackoverflow.com/questions/26768819/combination-from-different-vectors 또는 http://stackoverflow.com/questions/35346818/r-loop-for-repeat-a-vector-n-time ? – thelatemail

답변

0

도움이되는지 확인하십시오.

DIAMOND_ID <- c(1,2,3,4,5) 
MY_MONTHS <- c(201501,201502,201503,201504,201505,201506) 
DIAMOND_ID <- as.data.frame(DIAMOND_ID) 
MY_MONTHS <- as.data.frame(MY_MONTHS) 
df1 <- data.frame() 
k <- 1 
for (i in 1:nrow(DIAMOND_ID)) { 
for (j in 1:nrow(MY_MONTHS)) { 
df1[k,1] <- DIAMOND_ID[i,1] 
df1[k,2] <- MY_MONTHS[j,1] 
k <- k+1 
} 
} 

colnames(df1)[1:2] <- c("Diamond ID","My Months") 

결과 :

> df1 
    Diamond ID My Months 
1   1 201501 
2   1 201502 
3   1 201503 
4   1 201504 
5   1 201505 
6   1 201506 
7   2 201501 
8   2 201502 
9   2 201503 
10   2 201504 
11   2 201505 
12   2 201506 
13   3 201501 
14   3 201502 
15   3 201503 
16   3 201504 
17   3 201505 
18   3 201506 
19   4 201501 
20   4 201502 
21   4 201503 
22   4 201504 
23   4 201505 
24   4 201506 
25   5 201501 
26   5 201502 
27   5 201503 
28   5 201504 
29   5 201505 
30   5 201506 
+0

환상적, 덕분에 많은 도움 Pankaj –