2014-05-14 5 views
0

다음 예제 테이블에서 e, f, g, h, i의 열 이름을 변경하려고합니다. 이 예제에서, "e2, f2 등"끝에 "2"를 붙여 넣기를 원한다고 가정 해 봅시다. for 루프없이 간단히이 작업을 수행 할 수있는 방법이 있습니까?열 단위의 열 이름을 변경하려면 어떻게해야합니까?

m <- matrix(seq_len(12*5), nrow=5, ncol=12) 
m <- data.frame(m) 
names(m) <- letters[1:12] 
m 

    a b c d e f g h i j k l 
1 1 6 11 16 21 26 31 36 41 46 51 56 
2 2 7 12 17 22 27 32 37 42 47 52 57 
3 3 8 13 18 23 28 33 38 43 48 53 58 
4 4 9 14 19 24 29 34 39 44 49 54 59 
5 5 10 15 20 25 30 35 40 45 50 55 60 

부지런한 검색과 시행 착오 후에 나는 답을 찾지 못했습니다. 이 질문이 이미 제기 된 경우 투표를하지 말고 의견을 말하십시오. 나는 행복하게이 포스트를 제거 할 것이다.

+2

'이름 (m) [5 : 9] <-의 sprintf ("% s2를"이름 (m) [5 : 9) 당신이 형식 지정자를 피하려면'', –

+1

을 일하거나한다 이름 (m) [5 : 9] <- paste0 (이름 (m) [5 : 9], "2") ' – OdeToMyFiddle

+2

이것은 답변입니다. 댓글 섹션에있는 이유는 무엇입니까? :피 – MattLBeck

답변

1

sprintfpaste0 모두 사용할 수 있습니다. 의견에 좋은 답변을 게시 한 두 사람이 답변을 게시하고 싶다면 크레딧을 받아야하므로이를 제거 할 것입니다.

여기에 대답은 paste0입니다.

> names(m)[5:9] <- paste0(names(m[5:9]), 2) 
> m 
    a b c d e2 f2 g2 h2 i2 j k l 
1 1 6 11 16 21 26 31 36 41 46 51 56 
2 2 7 12 17 22 27 32 37 42 47 52 57 
3 3 8 13 18 23 28 33 38 43 48 53 58 
4 4 9 14 19 24 29 34 39 44 49 54 59 
5 5 10 15 20 25 30 35 40 45 50 55 60 
관련 문제