[R프로그래밍] 행렬 구조 Ⅱ(apply, 행추가, 열추가, 차원 확인 등)
데이터 구조(벡터, 행렬, 리스트, 데이터프레임) 특집 - 행렬 두번째 apply 함수는 평균이나 분산 등을 계산할 때 각 행이나 열에 일괄적으로 적용하는 함수이다. apply(행렬 또는 배열 이름, dimcode(margin), function(적용할 함수)) 의 형태로 사용한다. ① dimcode는 차원의 수를 말하며, 1 또는 2만 입력할 수 있다. ② dimcode가 1일 때는 행(row), 2일 때는 열(column)에 적용된다. ③ function은 적용할 계산을 넣으면 된다. mean(평균), sum(합계) 등이 해당된다. # apply 함수 m 행렬은 행이나 열을 추가 또는 삭제할 수 없다. 행렬도 벡터이므로 생성할 때부터 고정된 길이와 차원을 가지고 있기 때문이다...
[R프로그래밍] 벡터 구조 Ⅲ(필터링, subset, which, ifelse 삼항연산, names)
데이터 구조(벡터, 행렬, 리스트, 데이터프레임) 특집 - 벡터 세번째 필터링이란 특정한 '조건'을 만족하는 원소들을 추출하는 작업이다. 전처리에서 많이 사용하는데 보통 전처리에서는 패키지를 많이 사용하지만 R기본 내장함수들을 살펴보겠다. 크게 세 가지 방법이 있다. 1) 인덱싱 방법을 이용한 필터링 2) subset( ) 함수를 이용한 필터링 3) which( ) 함수를 이용한 필터링 첫 번째, ①인덱싱 [ ] 괄호를 통한 필터링 # 인덱싱 방법을 이용한 필터링 var 99] 인덱싱 방법을 이용한 필터링은 행렬(Matrix), 리스트(List), 데이터프레임(Data.frame)에도 똑같이 적용된다. 단, 인덱싱 방법을 이용한 필터링은 NA가 포함되어있다면 NA는 필터링하지 못하고 무조건..
[R프로그래밍] 벡터 구조 Ⅱ(seq, rep, all, any, NA, NULL)
데이터 구조(벡터, 행렬, 리스트, 데이터프레임) 특집 - 벡터 두번째 seq() 연산자는 콜론(:)을 일반화한 것이다. 산술연산을 통해 순서를 만드는 원리이다. # 벡터 seq() 연산 seq(from=12, to=30, by=3) # 12부터 30까지 간격3으로 데이터 생성 seq(12, 30, 3) # from, to, by 생략가능 seq(from=1, to=100, length=10) # 1부터 100까지 10개 데이터 생성 seq(1, 100, length=10) # length는 생략X - seq( )의 from에는 시작값, to에는 끝값을 입력한다. - by옵션에 3을 입력하면 시작값부터 끝값까지 간격3으로 생성된다. - length옵션에 10을 입력하면 시작값..
[R프로그래밍] 벡터 구조 Ⅰ(인덱싱, length, 재사용, 산술 및 콜론연산)
데이터 구조(벡터, 행렬, 리스트, 데이터프레임) 특집 - 벡터 첫번째 벡터는 모든 원소가 같은 데이터 속성을 갖는 1차원 데이터 구조이다. 행렬은 matrix, 리스트는 list, 데이터프레임은 data.frame으로 변수를 선언할 때 데이터 구조를 컴퓨터에게 알려주어야 하지만, 벡터는 별도로 알려주지 않아도 벡터로 인식한다. 벡터를 생성할 때는 값을 바로 넣어주면 되고, 여러 개의 값을 넣어줄 때는 c( ) 연결함수를 통해 생성할 수 있다. # 벡터 선언 x 벡터 안에 값이 여러 개 일때 특정 위치에 있는 값이 무엇인지 확인해야 할 경우에 사용한다. 연산자 [ ]를 이용한다. 다른 프로그래밍 언어는 순서를 셀 때 0부터 세지만 R은 1부터 순서를 매긴다. # 벡터 인덱싱 x 벡터의 크기는..