2017-11-07 1 views
0

값으로 열 이름을 사용 :DataTable의 구조를 변형 - 다음과 같이 나는 데이터 테이블 포맷 한

난 달성하기 위해 노력하고있어
Name   A1 A2 A3  A4 
Object 1   1  0  1  0 
Object 2   1  0  0  0 
Object 3   0  1  0  1 

: R에서

Name   Skill LeveL Skill Level Skill Level Skill Level 
Object 1   A1 1 A2  0  A3 1 A4  0 
Object 2   A1 1 A2  0  A3 0 A4  0 
Object 3   A1 0 A2  1  A3 0 A4  1 

, 가장 좋은 것이 무엇인지를 이 일을 성취하는 방법? R이 중복 된 컬럼 이름을 처리 할 수 ​​없다는 사실을 알고 있습니다. 이를 방지하기 위해 'Skill1, Level1 - Skill2, Level2')는 열 이름만큼 잘 작동 할 수 있습니다. 내 원본 데이터 테이블에는 동적 이름 범위 열이 있습니다 (따라서 2 ~ 40,000 열 이름 사이에 포함 된 하위 집합에 따라 다름).

답변

1

ll <- lapply(2:ncol(df), function(x) data.frame(Skill = names(df[x]), Level = df[, x])) 
cbind(Name = df[, 1], do.call('cbind', ll)) 
을 시도 할 수 있습니다
관련 문제