일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 피타고라스 정리
- java
- 수학탐구
- 오일러
- 정오각형
- 상합
- counting sunday
- 리만합
- 작도
- 알지오매스
- 몬테카를로
- 블록코딩
- 프랙탈
- 구분구적법
- 재귀함수
- 프로젝트 오일러
- 확률실험
- 파이썬
- python
- project euler
- 하합
- 시뮬레이션
- Geogebra
- 삼각함수의그래프
- 제곱근의뜻
- algeomath
- 큰수의법칙
- 큰 수의 법칙
- 이항분포
- 지오지브라
Archives
- Today
- Total
이경수 선생님의 수학실험실
R List indexing 본문
아래 예시에서 x는 a, b라는 이름의 벡터로 구성된 리스트이다. a는 숫자형(numeric), b는 문자형(character) 데이터이다. list의 각 요소에 접근하여 데이터를 수정하거나 삭제해야 한다면 [ ]를 두 번 겹쳐서 x[[1]], x[[2]]와 같이 나타내면 된다. 더 세부적으로 리스트의 첫번째 인자에서 k번째 데이터의 접근은 x[[1]][k]와 같이 나타내면 된다.
> x <- list(a=c(1,2,3), b=c("y","n","y"))
> x
$a
[1] 1 2 3
$b
[1] "y" "n" "y"
> x[[1]] <- c(4,5,6)
> x
$a
[1] 4 5 6
$b
[1] "y" "n" "y"
> x[[1]][2:3] <- c(7,8)
> x
$a
[1] 4 7 8
$b
[1] "y" "n" "y"
마찬가지로 list에서 2번째 요소의 2번째 데이터는 x[[2]][2]와 같이 접근하면 되겠다.
> x[[2]][2] <- "y"
> x
$a
[1] 4 7 8
$b
[1] "y" "y" "y"
데이터에 접근하는 또다른 방법은 '$'를 이용하는 것이다. x$a는 x[[1]]와 같은 의미이다.(list x의 첫번째 요소의 이름이 a이다.)
> x$a <- c(11,12,13)
> x
$a
[1] 11 12 13
$b
[1] "y" "y" "y"
그러면 x[1]과 x[[1]]은 어떤 차이를 갖는 것일까?
> x[1]
$a
[1] 11 12 13
> x[[1]]
[1] 11 12 13
datatype을 확인해 보니, x[[1]]는 numeric, x[1]는 list이다. 'x[1] <- c(4,5,6)'는 list에 numeric형 자료를 넣는 표현으로 경고 메시지가 뜨게 만든다. 괄호를 하나만 쓰고자 할 때는 x[1] <- list(c(1,2,3)) 와 같이 표현하는 것이 맞겠다.
> class(x[[1]])
[1] "numeric"
> class(x[1])
[1] "list"
> x[[1]] <- c(1,2,3)
> x
$a
[1] 1 2 3
$b
[1] "y" "y" "y"
> x[1] <- c(4,5,6)
경고메시지(들):
In x[1] <- c(4, 5, 6) :
number of items to replace is not a multiple of replacement length
> x[1] <- list(c(1,2,3))
> x
$a
[1] 1 2 3
$b
[1] "y" "y" "y"
'R' 카테고리의 다른 글
R Text mining (0) | 2021.04.21 |
---|---|
R function_example3 (0) | 2021.04.20 |
R function_example2 (0) | 2021.04.20 |
R function_example1 (0) | 2021.04.20 |
R의 데이터 타입_배열(array) (0) | 2021.04.20 |
Comments