*현업에 가면 몇달에 한번씩 쓰는 언어를 바꿔가면서 프로젝트를 할텐데
모든 언어를 완벽하게 외우는건 불가능하다. R이 여기까지 해주네?? 라고 생각하면 맘이 편합니다.
문법을 찾아 쓸 수 있게 구글링하는 스킬이 중요하다. -> 이걸 위해 미리 정리하는 겁니다.
| [cars 데이터] # (1) 이 데이터셋의 자료구조는 무엇인가? class(cars) (1.1) 이 데이터셋의 자료구조가 매트릭스인지 확인하시오. is.matrix(cars) # (2) 이 데이터셋의 관측값(행)과 컬럼(변수)의 개수를 구하시오. dim(cars) # (3) 이 데이터셋의 앞쪽 일부분의 내용을 보이시오. cars head(cars,n=3) # (3.1) 이 데이터셋의 뒤쪽 일부분의 내용을 보이시오. tail(cars,n=6) # (4) 이 데이터셋의 요약 정보를 보이시오. str(cars) # (5) 이 데이터셋의 컬럼별 평균을 구하시오. colMeans(cars) # (6) 가장 긴 제동거리(dist)를 구하시오. max(cars$dist) # (7) 제동거리가 가장 길 때의 속력(speed)과 제동거리(dist)를 구하시오. subset(cars,dist==max(cars$dist)) [InsectSprays 데이터] # (4) 실험에 사용한 살충제(spray)의 종류를 구하시오. levels(InsectSprays$spray) # (5) 살충제 종류별 데이터의 빈도를 구하시오. table(InsectSprays$spray) # (7) 살충제 E가 박멸한 해충수(count)의 평균을 구하시오. mean(InsectSprays.e$count) sum(InsectSprays.e$count) |
=>데이터 조회
| #파일로부터 데이터 입력받기 #작업 폴더 조회하기 getwd() # 기본 프로젝트 폴더 #작업 폴더의 위치 변경하기: 폴더 생성이 필요. 한글이름 사용하지 않기. #read.csv : csv 형태의 파일을 읽어서, data.frame형의 객체로 저장. air<-read.csv('data/airquality.csv', header=T) #첫번쨰 줄을 header정보 설정. 컬럼명으로 설정됨. #air<-read.csv('data/airquality.csv', header=F) #첫번째 줄을 데이터로 받음. 컬럼명이 자동으로 설정. ### csv 파일로 출력하기 ## iris의 데이터 중 품종이 setosa인 데이터를 iris_setosa.csv파일로 생성하기 ## iris 데이터 중 품종이 setosa인 데이터만 iris.setosa 변수에 저장하기 iris.setosa <-subset(iris, Species =='setosa') # iris.setosa 데이터를 iris_setosa.csv 파일로 생성하기. # iris.setosa 저장된 데이터를 iris_setosa.csv 파일로 저장. # row.names=F 행의 값은 데이터에서 제외 write.csv(iris.setosa, 'iris_setosa.csv', row.names=F) head(iris.setosa) #엑셀파일 읽기와 쓰기 #엑셀파일 사용하기 위한 패키지 xlsx설치하기 install.packages('xlsx') library(xlsx) write.xlsx(iris.setosa, 'data/iris_setosa.xlsx',row.names=F) getwd() |
=>데이터 입력받고 출력하기
| # DAAG 패키지에서 제공하는 cerealsugar # 데이터셋은 시리얼에 들어있는 설탕의 함유량을 측정한 데이터이다. str(cerealsugar) n<-dlgInput('Input n')$res #n은 문자형 형태로 입력됨 이렇게 입력하면 팝업창이 나와서 n값 입력가능. n<- as.numeric(n) # 문자열 ->숫자형 head(cerealsugar, n) head(cerealsugar, n=n) # (3) cerealsugar의 최댓값(max), 최솟값(min), 평균(avg)을 구해 각각의 변수에 저장한 뒤 # 데이터프레임 result를 만드시오(각 변수명은 괄호 안의 영문명 사용). min<-min(cerealsugar) max<-max(cerealsugar) avg<-mean(cerealsugar) result <-data.frame(min, max, avg) result #(4) result에 저장된 값을 csv 파일로 저장하시오(파일명은 result.csv). write.csv(result, 'data/result.csv', row.names=F) #(5) rewult.csv 파일을 불러와 화면에 내용을 출력하시오. temp<-read.csv('result.csv', header =T) temp |
=>값을 문자열 형태로 입력해서 출력하기.
| ####apply 함수(함수, 적용함수) #apply(데이터셋,행(1)/열(2) 지정, 적용함수) str(iris) #iris 데이터에서 꽃받침, 꽃잎의 가로, 세로 길이의 평균 구하기 mean(iris$Sepal.Length) apply(iris[,1:4],2,mean) #컬럼단위로 평균을 구해라 . apply(iris[,1:4],1,mean) #행별 평균. iris데이터의 행의 평균 조회하기 단위로 구하라는 말 |
=>apply 함수를 이용해 평균값 구하기.
| ####### 매개변수에 기본값 설정 하기 # y=2 : 기본값 설정. y인수값이 설정 안된 경우 2값을 기본값으로 설정. mydiv2<-function(x,y=2){ result<- x/y return(result) } mydiv2(y=3, x=10) # 인수 #파라메탓 순서는 그렇게 중요하지 않아. |
=> R은 인터프리터 언어라서 에러가 나도 따로 알려주기보단 정답을 찾아 출력해주려고 하는 편이다.
그래서 r을 실행할땐 출력하고자 하는 값이 순차적으로 잘 실행되었는지 확인해주는것이 좋다.
'STUDY > R' 카테고리의 다른 글
| R_RStudio(IDE)_학습하기(4) (0) | 2023.02.13 |
|---|---|
| R_RStudio(IDE)_학습하기(3) (0) | 2023.02.13 |
| R_RStudio(IDE)_학습하기(2) (0) | 2023.02.08 |
| R_RStudio(IDE) 학습하기 (0) | 2023.02.07 |