2014-07-18 3 views
-1

"stringr"패키지를 설치 한 후 str_c 함수를 사용하여 데이터에서 일부 열의 이름을 변경하려고합니다. 열 이름은 다음과 같습니다 :문자열 시작 부분에 문자 추가

> x 
    a b c d 

내가 "AA"와 "Ab의"와 "c"와 "d"를 변경해야합니다.

colnames(x[,3:4])<-str_c(colnames(x[,1:2], "A") 

그러나, 결과는 마지막 이름이 아닌 시작 부분에 "A"를 보여줍니다 그래서 그 대신 내 명령에 전체 열 이름을 쓰고, 나는 다음과 같은 구조를 사용합니다. 그렇다면 다음 얻기 위해 시작 부분에 "A"를 넣어 :

> x 
    a b Aa Ab 
+2

'str_c'는 사용 가능해야하며로드해야하는 패키지에서 가져온 것임을 문서화해야합니다. 이 질문은 R에서 막 시작한 사람에게 도움이되지 않으며이 함수가 실제로 기본 함수'paste0'를 복사하고 있다는 것을 이해하지 못합니다. 또한'$'함수를 사용하여 이름이 인용되지 않는 한 숫자로 시작하는 열 이름을 사용하지 않는다는 사실을 알게되면 (그리고 아마도 당신과) 혼동 할 것입니다. –

+0

@BondedDust 모두 수정되었습니다 – athraa

답변

0

나는 당신의 질문을 이해하고 이것이 "열 이름"을 표시하는 경우, 당신은 당신의 표현의 순서를 교체해야한다,이

colnames(x[,3:4])<-str_c(colnames(x[,1:2], "A") 

선두 자리가 $를 functi 작동하지 않습니다와

colnames(x[,3:4])<-str_c("A", colnames(x[,1:2]) 

열 이름이어야한다 이름이 인용되지 않으면 켜기. 그래서 "A"는 '$'함수로 잘 동작하지만 "1"은 따옴표로 묶을 이름이 필요합니다.

+0

잘 작동합니다. 감사합니다 – athraa

+0

예, 작동 할 수는 있지만 좋은 생각은 아닙니다. 나는'1a '가 유효한 R 이름이 아니기 때문에 적절한 경고가 주어져야한다고 생각한다. –

+0

죄송합니다 @ 엘리엇 어쩌면 내가 놓친 뭔가가 있지만 어떻게 작동하지 볼 수 없습니다. http://stackoverflow.com/q/24867333/766828을 참조하십시오. – Beasterfield

관련 문제