- 데이터 추출하기: 데이터를 확인했다면, 데이터에서 하위구조 데이터를 추출하면서 분석의 기반을 다지는 것. 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) 여러 행과 여러 열로 형성되어 있는 Data Frame에서 방법은 여러가지가 존재한다. 이번엔 대괄호 우선
🕶
구성으로는
여러 연속되는 행/열이나 떨어져있는 여러 행/열도
*
이렇게 데이터를 나의 목적에 맞게 쓸 수 있게끔 |