2013-03-26 2 views
0

다음과 같은 절단 기능으로 출력을 생성했습니다 ...이 출력을 '데이터'라고합니다.출력 R 프로그램에서 데이터에 액세스

cuts: [20,25) 
    Time Kilometres 
21 20  7.3 
22 21  8.4 
23 22  9.5 
24 23  10.6 
25 24  11.7 
------------------------------------------------------------ 
cuts: [25,30) 
    Time Kilometres 
26 25  12.8 
27 26  13.9 
28 27  15.0 
29 28  16.1 
30 29  17.2 
------------------------------------------------------------ 
cuts: [30,35) 
    Time Kilometres 
31 30  18.3 
32 31  19.4 
33 32  20.5 
34 33  21.6 
35 34  22.7 

어떻게 각각의 데이터가 인하 킬로미터 데이터를 가져 cut..like 액세스 할 수 있습니다 : [20,25] 등등 내가 데이터 $ 킬로미터를하고 시도 ...하지만이 작동하지 않습니다 .. . 기본적으로 각 데이터에 대해 킬로미터 데이터를 별도로 사용할 수있는 새로운 데이터 프레임이 필요합니다.

+1

이것을 생성하기 위해'by'를 사용했다고 가정합니다. 그것을 사용하는 어떤 명령을 사용 했습니까? –

+0

@sebastian-c,'by'는 ​​별개의 시각적 출력을 가지고 있지 않습니다. 원래 질문보기 [here] (http://stackoverflow.com/questions/15628289/cut-function-in-r-program) – A5C1D2H2I1M1N2O1R2T1

답변

0

여기 by의 출력은 숫자 또는 이름으로 기본 목록 인덱싱을 사용할 수있는 목록입니다. 우리는 색인을 할 수 your question from a few hours ago에서 데이터를 사용하고, the answer from Matthew Lundberg은 다음과 같이

> x[[1]] 
    Time Velocity 
1 0.0  0.00 
2 1.5  1.21 
3 3.0  1.26 
4 4.5  1.31 
> x[["[6,12)"]] 
    Time Velocity 
5 6.0  1.36 
6 7.5  1.41 
7 9.0  1.46 
8 10.5  1.51 

당신은 str를 사용하여 R에서 객체의 구조를 검토 할 수 있습니다. 이것은 대개 특정 정보를 추출하는 방법을 결정하는 데 도움이됩니다. 이에서

> str(x) 
List of 7 
$ [0,6) :Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables: 
    ..$ Time : num [1:4] 0 1.5 3 4.5 
    ..$ Velocity: num [1:4] 0 1.21 1.26 1.31 
$ [6,12) :Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables: 
    ..$ Time : num [1:4] 6 7.5 9 10.5 
    ..$ Velocity: num [1:4] 1.36 1.41 1.46 1.51 
$ [12,18):Classes ‘AsIs’ and 'data.frame': 6 obs. of 2 variables: 
    ..$ Time : num [1:6] 12 13 14 15 16 17 
    ..$ Velocity: num [1:6] 1.56 1.61 1.66 1.71 1.76 1.81 
$ [18,24):Classes ‘AsIs’ and 'data.frame': 5 obs. of 2 variables: 
    ..$ Time : num [1:5] 18 19 20 21 22.5 
    ..$ Velocity: num [1:5] 1.86 1.91 1.96 2.01 2.06 
$ [24,30):Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables: 
    ..$ Time : num [1:4] 24 25.5 27 28.5 
    ..$ Velocity: num [1:4] 2.11 2.16 2.21 2.26 
$ [30,36):Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables: 
    ..$ Time : num [1:4] 30 31.5 33 34.5 
    ..$ Velocity: num [1:4] 2.31 2.36 2.41 2.42 
$ [36,42):Classes ‘AsIs’ and 'data.frame': 1 obs. of 2 variables: 
    ..$ Time : num 36 
    ..$ Velocity: num 2.43 
- attr(*, "dim")= int 7 
- attr(*, "dimnames")=List of 1 
    ..$ cuts: chr [1:7] "[0,6)" "[6,12)" "[12,18)" "[18,24)" ... 
- attr(*, "call")= language by.data.frame(data = mydf, INDICES = cuts, FUN = I) 
- attr(*, "class")= chr "by" 

우리는 우리가 일곱 개 항목의 이름 목록을 볼 수 있으며, 각 목록은 data.frame이 포함되어 여기 str(x)입니다. 따라서 우리가 세 번째 간격의 "Velocity"변수 (두 번째 열)의 벡터를 원한다면 다음과 같이 사용할 것입니다 :

> x[[3]][[2]] 
[1] 1.56 1.61 1.66 1.71 1.76 1.81 
관련 문제