2012-07-10 4 views
1

연구 프로젝트의 경우 실행하는 데 시간이 오래 걸리는 상대적으로 큰 코드 블록이 있습니다. 이 프로그램을 실행하는 데 걸리는 시간을 단축해야하기 때문에 profr을 실행하여 어떤 기능이 가장 많은 시간을 차지하는 지 살펴보십시오. 문제는, 표기법을 이해할 수 없다는 것입니다. 누군가가 내게 설명 할 수 있고, 설명 할 수있는 리소스를 알려 주면 다음과 같은 의미를 갖습니다.R 언어 : 대괄호 표기법

[<-.data.frame 
[[.data.frame 
[<- 
[ 
[.factor 
[.data.frame 
[<-factor 

? 데이터 프레임을 새롭고 서브 세트로 만드는 일종의 R 내부 구조가되어야한다는 것을 알고 있습니다.

감사합니다. "R for Dummies" cheet의 수렁에서 인용

+0

'[<-' 대상이 무엇인가 인과 인덱스 값의 할당은,이다 벡터의 항목과 같이 간단합니다. '[<-. data.frame'은 데이터 프레임 내부의 위치에 대한 할당입니다. –

답변

4

:

부분 집합 R은

벡터, 목록 및 데이터 프레임이 너무 간결하고 정확하게 지정할 수있는, R에서 데이터를 표현하는 데 중요한 역할을 개체 데이터의 하위 집합 이 중요합니다.

당신은 당신의 데이터를 부분 집합 세 가지 연산자를 사용할 수 있습니다 :

  • [[은 : 목록 또는 데이터 프레임에서 이름이나 위치에 의해 하나의 요소를 추출합니다. 예를 들어 iris[["Sepal.Length"]]은 데이터 프레임 iris에서 Sepal.Length 열을 추출합니다. iris[[2]]은 홍채에서 두 번째 요소를 추출합니다.

  • [ : 벡터, 배열, 목록 또는 데이터 프레임에서 여러 요소를 추출합니다. 예를 들어, iris[, c("Sepal.Length", "Species")]은 홍채에서 Sepal.LengthSpecies 열을 추출합니다. iris[1:10, ]은 홍채에서 처음 10 개의 행을 추출합니다. iris[1:10, "Species"]은 홍채에서 Species 열의 처음 10 개 요소를 추출합니다. 로 잘 ;-)을 요약 아니지만


당신은 ?Extract에서 같은 정보를 찾을 수 있습니다


나는이 느린 것을 알고 있기 때문에 내 생각 엔 당신의 프로파일 링 문제가 [<-에 있다는 것이다 조작. 데이터 프레임에 복수 [<- 열 지정이있는 루프가있을 수 있습니다. 당신은 실질적으로 더 빨리하여이 작업을 할 수 있습니다 :

  • 패키지를 사용하여 여러 열
  • 의 단일 할당을 만드는 data.table
+0

data.table에 대해 몰랐습니다. 정말 고마워요! –