- 데이터 추출하기
: 데이터를 확인했다면, 데이터에서 하위구조 데이터를 추출하면서 분석의 기반을 다지는 것.
1. '$' 연산자를 사용한 하위구조 데이터 추출
ex) aws$TA
: aws라는 데이터프레임 객체의 TA라는 열 리턴
2. 벡터 연산을 사용한 하위 구조 데이터 추출
1) 행 추출
① 단일 숫자
ex) aws[2, ]
→ aws의 2번째 행 추출해서 리턴. 뒤에 column자리는 비워놓음으로써 2번째 행의 모든 열을 다 리턴.
② 문자
ex) aws["2", ]
→ aws의 2번째 행 추출해서 리턴. 혹은 행 이름을 문자로 지정했을 경우에 사용.
③ 연속
ex) aws[3:10, ]
→ 3행부터 10행까지 추출해서 리턴
④ 이산
ex) aws[c(2,135, 3:10), ]
→ 2행, 135행, 3부터 10행까지 추출해서 리턴. 전달된 인자 순서대로 추출됨. 알아서 정렬 이런 거 없음.
2) 열 추출
① 단일 숫자
ex) aws[ ,3]
→ aws의 3번째 열 추출. 앞에 row 자리는 비워놓음으로써 3번째 열의 모든 행을 다 리턴.
② 문자
ex) aws[, "wind" ]
→ wind 열(변수)만 리턴
③ 복수 문자
ex) aws[ , c("AWS_ID", "TA")]
→ 'AWS_ID', 'TA'열 리턴
④ 연속
ex) aws[ , 3:4 ]
→ 3열부터 4열까지 리턴
⑤ 이산
ex) aws[ ,c(1,3) ]
→ 1열부터 3열까지 리턴
3) 행, 열 추출
ex) aws[1,3] # 숫자 인자 전달
aws["1", "TA"] # 문자 인자 전달
aws[2:5, c("TA", "Wind")] # 복수의 행, 열 추출
* 조건연산자 (논리연산자로 조건문처럼 사용 가능)
데이터 추출할 때 굉장히 편하게 쓰일 듯하다. 내가 if문과 for loop을 사용하지 않고 한 줄의 코딩으로 뽑아낼 수 있는 것! 행 자리에 조건문이 들어간다. 즉, row에 대한 연산이 이루어지는 것임을 알 수 있다.
ex) df_1[df_1$$b >= 3, ]
df_1[df_1$aa == "b", ]
df_1[(df_1$bb > 1 && df_1$bb < 4), ]
이들은 해당 조건문에 참인 행을 출력한다.
** 마이너스 부호 활용시 특정 행 or 열을 제외한 데이터 추출 가능.
- 데이터 치환 및 삽입
1. 벡터 연산을 사용한 데이터 치환 (이라 쓰고 변경이라 읽는다)
aws[row, col] <- value
- 데이터 치환 및 삽입
1. 벡터 연산을 사용한 데이터 치환 (이라 쓰고 변경이라 읽는다)
aws[row, col] <- value
2. 벡터 연산을 사용한 데이터 삽입
기존에 없었던 열이나 행을 명시해주면서 값을 할당시켜주면 됨.
ex) aws[, ncol(aws) + 1] <- "new" (하나만 명시해줘도 칼럼 전체에 new가 다 assign됨)
aws[, "last_one"] <- c(1,2,3,4,5) (새로운 column name을 인덱스에 전달해줘도 데이터 삽입 ok)
'프로그래밍 > R ' 카테고리의 다른 글
[R] 제어문(if, if~else if~, switch, ifelse) (0) | 2019.06.12 |
---|---|
R에서 함수 정의하기, 콜하기 (0) | 2019.06.12 |
R에서 데이터 확인하기 (0) | 2019.06.12 |
R로 데이터 가져오기(2) (0) | 2019.06.12 |
R로 데이터 가져오기 (1) (0) | 2019.06.12 |