2017-10-23 2 views
-3

각 관찰 (기록)에 대한 의미 있고 고유 인덱스 번호를 생성 :자동 그 시퀀스 데이터 프레임에서 다음과 같다 해당 별자리 의해 그룹화 I 중국어 별자리의 집합을 R

c("紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "紫微垣", "紫微垣", "紫微垣", 
"紫微垣", "紫微垣", "太微垣", "太微垣", "太微垣", 
"太微垣", "太微垣", "太微垣", "太微垣", "太微垣", 
"太微垣", "太微垣", "太微垣", "太微垣", "太微垣", 
"太微垣", "太微垣", "太微垣", "太微垣", "太微垣", 
"太微垣", "太微垣", "天市垣", "天市垣", "天市垣", 
"天市垣", "天市垣", "天市垣", "天市垣", "天市垣", 
"天市垣", "天市垣", "天市垣", "天市垣", "天市垣", 
"天市垣", "天市垣", "天市垣", "天市垣", "天市垣", 
"天市垣", "角宿", "角宿", "角宿", "角宿", "角宿", 
"角宿", "角宿", "角宿", "角宿", "角宿", "角宿", "亢宿", 
"亢宿", "亢宿", "亢宿", "亢宿", "亢宿", "亢宿", "氐宿", 
"氐宿", "氐宿", "氐宿", "氐宿", "氐宿", "氐宿", "氐宿", 
"氐宿", "氐宿", "氐宿", "房宿", "房宿", "房宿", "房宿", 
"房宿", "房宿", "房宿", "心宿", "心宿", "尾宿", "尾宿", 
"尾宿", "尾宿", "尾宿", "箕宿", "箕宿", "箕宿", "斗宿", 
"斗宿", "斗宿", "斗宿", "斗宿", "斗宿", "斗宿", "斗宿", 
"斗宿", "斗宿", "牛宿", "牛宿", "牛宿", "牛宿", "牛宿", 
"牛宿", "牛宿", "牛宿", "牛宿", "牛宿", "牛宿", "女宿", 
"女宿", "女宿", "女宿", "女宿", "女宿", "女宿", "女宿", 
"虛宿", "虛宿", "虛宿", "虛宿", "虛宿", "虛宿", "虛宿", 
"虛宿", "虛宿", "虛宿", "危宿", "危宿", "危宿", "危宿", 
"危宿", "危宿", "危宿", "危宿", "危宿", "危宿", "室宿", 
"室宿", "室宿", "室宿", "室宿", "室宿", "室宿", "室宿", 
"室宿", "室宿", "壁宿", "壁宿", "壁宿", "壁宿", "壁宿", 
"壁宿", "奎宿", "奎宿", "奎宿", "奎宿", "奎宿", "奎宿", 
"奎宿", "奎宿", "奎宿", "婁宿", "婁宿", "婁宿", "婁宿", 
"婁宿", "婁宿", "胃宿", "胃宿", "胃宿", "胃宿", "胃宿", 
"胃宿", "胃宿", "昴宿", "昴宿", "昴宿", "昴宿", "昴宿", 
"昴宿", "昴宿", "昴宿", "昴宿", "畢宿", "畢宿", "畢宿", 
"畢宿", "畢宿", "畢宿", "畢宿", "畢宿", "畢宿", "畢宿", 
"畢宿", "畢宿", "畢宿", "畢宿", "觜宿", "觜宿", "觜宿", 
"參宿", "參宿", "參宿", "參宿", "參宿", "參宿", "井宿", 
"井宿", "井宿", "井宿", "井宿", "井宿", "井宿", "井宿", 
"井宿", "井宿", "井宿", "井宿", "井宿", "井宿", "井宿", 
"井宿", "井宿", "井宿", "井宿", "鬼宿", "鬼宿", "鬼宿", 
"鬼宿", "鬼宿", "鬼宿", "鬼宿", "柳宿", "柳宿", "星宿", 
"星宿", "星宿", "星宿", "星宿", "張宿", "張宿", "翼宿", 
"翼宿", "軫宿", "軫宿", "軫宿", "軫宿", "軫宿", "南極星區", 
"南極星區", "南極星區", "南極星區", "南極星區", 
"南極星區", "南極星區", "南極星區", "南極星區", 
"南極星區", "南極星區", "南極星區", "南極星區", 
"南極星區", "南極星區", "南極星區", "南極星區", 
"南極星區", "南極星區", "南極星區", "南極星區", 
"南極星區", "南極星區") 

나는이 별자리들 사이의 구조화 된 관계를 담고있는 또 다른 목록을 가지고있다.

structure(list(三垣 = c("紫微垣", "太微垣", "天市垣" 
), 四象 = c("蒼龍(東)", "玄武(北)", "白虎(西)", "朱雀(南)" 
), 二十八宿 = structure(c("角宿", "亢宿", "氐宿", "房宿", 
"心宿", "尾宿", "箕宿", "斗宿", "牛宿", "女宿", "虛宿", 
"危宿", "室宿", "壁宿", "奎宿", "婁宿", "胃宿", "昴宿", 
"畢宿", "觜宿", "參宿", "井宿", "鬼宿", "柳宿", "星宿", 
"張宿", "翼宿", "軫宿"), .Names = c("蒼龍1", "蒼龍2", 
"蒼龍3", "蒼龍4", "蒼龍5", "蒼龍6", "蒼龍7", "玄武1", 
"玄武2", "玄武3", "玄武4", "玄武5", "玄武6", "玄武7", 
"白虎1", "白虎2", "白虎3", "白虎4", "白虎5", "白虎6", 
"白虎7", "朱雀1", "朱雀2", "朱雀3", "朱雀4", "朱雀5", 
"朱雀6", "朱雀7")), 南極星區 = "南極星區"), .Names = c("三垣", 
"四象", "二十八宿", "南極星區")) 

아이디어는 컨 스텔 레이션 테이블의 각 항목에 대한 고유 색인을 생성하기 위해 구조화 된 데이터를 사용하는 것입니다. 여기

는 내가 그렇게 대해 설정 한 방법은 다음과 같습니다

yxsl <- unlist(yxs) #flatten the list 
sno <- tibble(sno=names(yxsl), 垣.宿.區=yxsl) #generate index from header data on flattened list 
sno$sno <- gsub("星區|二十八宿.", "", sno$sno) #remove unwanted text on the index 

나는 인덱스 생성 과정에 도움이되어야한다 변수의 각 변화의 길이를 반환 rle 기능 건너했습니다.

i <- rle(constellation$sno) #Run Length Encoding 

내가 i$lengths에 주어진 숫자 벡터 값을 확장 R을 얻을 것입니다 지금해야 할 일은, 하나의 수, 각 카테고리에서 각 변경과 반복 인덱스 번호를 생성, 부착합니다 원래 색인의 줄기 뒤에.

어떻게해야합니까? 더 나은 방법이나 쉬운 방법이 있습니까?

i <- sequence(i$lengths) %>% sprintf("%02d", .) 
constellation$sno <- paste0(constellation$sno, "-", i) 

답변

3

우리는 sequence

sequence(v1) 
를 사용할 수 있습니다


여기에 마지막 코드입니다