STUDY/R

R_RStudio(IDE)_학습하기(3)

oort2 2023. 2. 9. 15:50

*현업에 가면 몇달에 한번씩 쓰는 언어를 바꿔가면서 프로젝트를 할텐데

모든 언어를 완벽하게 외우는건 불가능하다. 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