반응형
저번에는 벡터를 살펴보았지만
이번 포스트에서는 매트릭스와 데이터 프레임을 살펴보도록 하겠다.
코드
m1<-matrix(c(1:6), nrow=3, ncol=2)
m1
m2 <-matrix(c(1:6), nrow=3,ncol=2,byrow=TRUE)
m2
rnames <- c("행1","행2","행3")
cnames <- c("Col1","Col2")
r_c_names <- list(rnames, cnames)
m3 <- matrix(c(1:6),nrow=3,ncol=2,byrow=FALSE, dimnames = r_c_names)
m3
m3[2,1]
m3[1,]
결과
m1은 데이터를 1부터 6까지 생성하고 열3 행2로 매트릭스를 하나 만들겠다는 의미이다.
결과는 위와 같고
m2도 같은 방식의 매트릭스 생성 함수이나, byrow=TRUE를 넣음으로써
열기준으로 데이터가 들어가게 된다.
때문에 m1은 위에서 아래로, m2는 오른쪽으로 변수가 채워지게 된다.
rname과 cname은 각각 문자열의 벡터이지만
이것을 list에 넣음으로서, 1차원 벡터의 집합인 list를 만들었다.
이 리스트를 m3 매트릭스에 dimnames에 넣음으로서
m3의 observation과 varable을 설정할 수 있다.
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 29 30 31 32 33 34 35 36 37 38 | patient_id <- 1:4 patient_id age <- c(25, 34, 28, 52) age type <- c("Type1","Type2","Type2","Type1") type status <-c("poor","Improved","Ecellent","poor") status df_patient <- data.frame(patient_id,age,type,status) df_patient str(df_patient) head(df_patient, n=2) tail(df_patient, n=2) str(mtcars) mtcars summary(mtcars) # data frame에서 특정 컬럼(변수)의 내용만 확인 df_patient$patient_id df_patient$age mtcars$hp # 벡터(vector) mtcars["hp"] mtcars[c("mpg","cyl","wt")] head(mtcars,n=2) mtcars["Mazda RX4",] plot(mtcars$wt, mtcars$mpg) | cs |
데이터 프레임
data.frame에 대해 알아보겠다
환자의 데이터를 만들기 위해서 먼저
환자 번호(patient_id) 나이(age) 환자타입(type) 환자상태(status) 벡터를 미리 만들었다
이렇게 만들어진 벡터들을
df_patient <- data.frame(patient_id,age,type,status)
이런 방식으로 데이터프레임을 만들어
df_patient에 넣어주자
이렇게 만들어진 환자 데이터 프레임은 이러한 형탤ㄹ 띠게 된다.
다음에 쓰인 head와 tail 함수는 결과값을 설정된 값만끔 뽑아주는 함수이다.
head(df_patient, n=2) 는 앞에서 2번째까지의 데이터만 tail(df_patient, n=2) 는 뒤에서 2개의 데이터만 추출해준다
다음에 쓰인
str(mtcars) 함수는 mtcars의 정보를 보여주는 함수이다.
결과는 아래와 같다.
하지만 우리는 mtcars 데이터프레임을 생성한 적이 없다.
왜 출력이 되는 걸까?
R에서 기본적으로 제공하는 데이터들이 있다.
교육용으로 사용하라는 의미인지는 모르겠지만 mtcars(Motor Trend Car Road Tests), mpg, midwest, economics 등이 있다.
우리는 이러한 데이터프레임을 연습삼아 가공할 수 있다.
다시 str 함수 이야기로 돌아가면
각자의 데이터의 타입과 일정 부분의 데이터 정보를 보여주는 함수이다.
여기서는 32 observation 과 11 variables가 있으면서
각각 10개정도의 데이터만 보여주고 있다. 이 데이터자료를 보면서
우리는 데이터프레임의 가로 세로 길이 데이터 타입등을 확인할 수 있는 것이다.
아래의 df_patient$patient_id 는 id 데이터만 쭉 뽑아준다.
즉 variables의 데이터만 쭉 보여주는 방법이다.
observation 값은 보여주기 않기에 이 자체의 의미보다는 나중에 복합적으로 함수를 하용하여
데이터를 가공할 때 주로 쓰이게 된다.
mtcars["hp"] mtcars[c("mpg","cyl","wt")]
위의 코드는 특정 vector 값만 뽑아내는 함수이다.
이름도 같이 보여주기에 특정 정보를 열람할 때 유용하게 쓰일 수 있다.
만약 특정 observation의 데이터를 전부 보고 싶다면
mtcars["Mazda RX4",]
이런식으로 이용하면 결과를 얻을 수 잇다.
plot은 그래프를 뽑아내는 함수이다.
그래프는 나중에 집중적으로 할 기회가 있으니 여기서는 생략하도록 하겠다.
궁금한 사람은 맛보기로 해보도록 하자.
반응형
'프로그래밍 > R' 카테고리의 다른 글
R - text mining 텍스트 마이닝 만들기 (0) | 2017.12.04 |
---|---|
R에서 벡터(테이블, 행,열) / seq, rep 함수 이용 (0) | 2017.11.30 |
R 변수 선언과 데이터 출력 (0) | 2017.11.30 |