1. 숫자는 1:100 으로 만들 수 있다. 문자 또한 만들 수 있다. Letters와 LETTES가 될 수 있다.
2. 백터를 슬라이싱 하는 방법이 다양하다! 참 거짓으로 슬라이싱이 가능하고, 위치로도 슬라이싱이 가능하다.
3. 규칙성이 있는 벡터를 만들 수 있다.
B. 행렬
1. 행렬과 배열이 햇갈리 수 있지만 R에서 행렬과 배열은 다르다.
1.1 기본 값은 Column major 방식으로 들어간다. 일종의 사고 방식의 차이다.
1-2. t(matrix)로 전치행렬을 만들 수 있다.
2. dimnames로 list형식으로 행과 열의 이름을 정하여 넣을 수 있다.
2-2. 행렬 또한 벡터의 모임이기 때문에 순서가 중요하다는 것을 인지해야 한다.
> x["R1","c3"]
[1] 7
> x[,"c3"]
R1 R2 R3
7 8 9
> x[7]
[1] 7
일종의 Select 함수이다. 모든 행의 열이 선택되는 것!
Filter는 모든 열의 행이 선택 되는 것이다.
3. 행렬은 R에서 많이 쓰이지는 않는다. 행렬을 붙여서 입체를 만들었다.
4. 리스트 , 키 값이 있는 딕셔너리라고 할 수 있음.
4-2. 같은 원소이지만 그냥 hello와 리스트 안의 hello는 구조가 다르다. class를 통해서 확인할 수 있다.
> class(list1[1])
[1] "list"
즉, 리스트의 원소는 리스트이다. 리스트는 리스트로 이루어져 있다. 다만 만들어질 때는 벡터로 들어가지만 나올 때는 리스트로 나오게 된다. 벡터 만을 뽑아 내기 위해서는 아래와 같이 사용되어야 한다. 벡터의 원소에 대해서 접근하기 위해서는 두 번째와 같이 써야 한다.
> list1[[1]]
[1] 1 2 3
> list1[[1]][1]
[1] 1
4-3. 키와 값으로 저장이 되어 있을 때, $으로 리스트를 불러올 수 있다.
$name
[1] "minho"
$address
[1] "Seoul"
$tel
[1] "123"
$pay
[1] 300
4-4 프로그래밍 언어로 사용 할 때에는 첫 번째 것과 같은 방식으로 사용되며, 가공하고 처리할 때에는 아래와 같은 방식으로 사용한다. 왜냐하면 name을 다른 변수로 치환할 수 없기 때문이다.
member[[1]]
memver$name
5. 이름을 부여하는 방법은 벡터의 방법과 동일하다.
총평 : 벡터와 리스트는 비슷하지만 벡터는 아토믹하고 리스트는 아토믹하지 않다. 단지 그 하나의 차이다.
리스트의 벡터들은 서로 크기가 다르다.
내일 배우게 될 데이터 프레임과 리스트의 차이는 데이터프레임이 모든 벡터의 길이가 같다는 것이다. 그렇지 않으면 리스트다.
길이가 똑같은 리스트/벡터의 모임이라고 할 수 있다.
'2019년 혁신성장 청년인재 집중양성(빅데이터) > [프로그래밍] R' 카테고리의 다른 글
[프로그래밍,2019/08/27] R 이제까지 했던 것 복습과 바플랏 (0) | 2019.08.27 |
---|---|
[프로그래밍 R][2019/08/26] 조건문, 데이터 가공 dplyr (0) | 2019.08.26 |
[프로그래밍 2019/08/21] 데이터 프레임과 파일읽기 (0) | 2019.08.21 |
2019/08/13 R 1 (0) | 2019.08.13 |