2012-07-29 4 views

답변

5

너무 많은 정보 응답 : 당신의 옵션 "드 당"의 각 무엇을 보면 :

# 1. 
`[<-`(x, 1, value=`colnames<-`(x[1], 'Name')) 
# 2. 
`colnames<-`(x, `[<-`(colnames(x), 1, 'Name')) 

첫 번째 옵션은 단지 첫 번째 열에서 새 data.frame을 만들고, 이름 변경 그 열 (성공적으로)을 작성한 다음 해당 data.frame을 첫 번째 열 위로 다시 할당하려고합니다. [<-.data.frame은 값을 전파하지만 value의 이름을 기반으로 기존 열의 이름을 바꾸지는 않습니다.

두 번째 옵션은 data.frame의 colnames를 가져 와서 첫 번째 값을 업데이트하고 업데이트 된 이름으로 새 data.frame을 만듭니다.


(내가 코멘트에서 일을 인용 역 따옴표를 얻는 방법을 알아낼 수 없기 때문에 여기 @Peng 펭의 질문에 대답 ...)

역음 변수 이름을 인용하는 것입니다. X라는 변수

x<-1 
`x<-`<-1 

제 1 양수인하지만 변수 제 대입 x<-라고 여기 차이를 고려한다. 이 익숙하지 않은 변수 이름은 실제로 <- 프리미티브 함수에서 사용됩니다. 할당의 lh에 대해 임의 함수 호출이 허용되며 이름에 <-이 추가 된 함수는 업데이트 수행 방법을 지정합니다 (lisp에서 setf과 유사).

+0

+1 나를 이길. 좋은 설명. – joran

+0

\ "colnames <- \''의 의미는 무엇입니까? 그 캐릭터는'무엇을 표현합니까? –

1

x의 열 이름 속성을 수정하려는 경우 data.frame. 따라서 하나 이상의 번호를 동시에 지정했는지 여부에 관계없이

colnames(x) <- .... 

이 올바른지 여부

+2

@Peng Peng이 것이 명확하지 않은 경우를 대비하여,'x [1]'은 데이터 프레임이지만'x'의 첫 번째 열인 새로운 데이터 프레임입니다. 새 데이터 프레임의 열 이름을 변경해도'x'에서 열 이름이 변경되지 않습니다. – Gregor

+0

고맙습니다, 쉬 주아. x [1 [ss]와 다른 데이터 프레임이 도움이된다는 사실을 강조합니다. –

관련 문제