본문 바로가기
비트 장기/R

R 예제

by woohyun22 2018. 9. 1.

file - new file - r script - 파일명 - save 


전체 컴파일 단축키 ctrl +shift + enter 

여러줄 주석 처리  ctrl + sfitf + C

console창에서 ctrl+ L


a=3+2후 오른쪽창에서 빗자루로 정리 


r에서 한글이 연결안되거나 뻗으면 껏다켜라 


확실한 대입연산은 <-


b<-20 이다.




형식


코드


결과


설명


ex1 기본출력


a=10; a

b=20

print(b) 


10

20


바로 불러와도되고, print로 나타내도된다.



ex2 사칙연산


13+3

13-3

13*3

13%/%3

13%%3


16

10

39

4

1


몫은 %/%로쓴다.

나머지는 %%


ex3 대입,리스트 c =컴바인


a<-101;a

b<-c(10,20,30,40);b

d<-c("호랑이",'아');d

e<-c(3:7);e

class(b)

class(d)


101

10 20 30 40

"호랑이" "아"

3 4 5 6 7

numeric

character



d<-c(3:7)

e<-seq(3,7)

g1<-seq(3,7,2)

g2<-seq(3,7,by=2)

g3<-seq(3,7,by<-2)


d,e리스트3~7까지 3,4,5,6,7

위의 g1,2,3은 세개다 같은 출력이다.


class(x) 안에넣으면 x의 타입을 볼수있다.

'='  함수에서 인수전달을 할때 =을쓴다.

r=리스트가 1부터 시작된다 ,0부터 시작안함.


h<-c("tiger","lion")

h[1]

h[2]

i<-seq(10)

i


tiger

lion

1 2 3 4 5 6 7 8 9 10


seq는 리스트생성


ex4 한줄정리;사용, sqrt 


a<-10; a

b<-sqrt(9); b

d<-c(100,"tiger"); d

e<-seq(5)

e<-e+3; e

f<-e*2; f


10

3

"100" "tiger"

4 5 6 7 8

8 10 12 14 16



두줄의 코드를 한라인에서 처리할수 있다 :을 사용 그러나 출력에는;붙이지 않는다.

sqrt() 루트값 

int값과 str형을 같이 넣으면 위처럼 str로 바뀌어 출력

리스트에 더한값을 출력하면 더해진 리스트가 나온다. 곱셈도 마찬가지


ex5 여러함수


a<-seq(10)

r1<-mean(a); r1

r2<-max(a); r2

r3<-min(a); r3

r4<-sum(a); r4


a<-seq(11)

r5<-median(a); r5


5.5

10

1

55


6


seq(10)에대한 평균이므로 55/10값이 나온다

최대값,최소값,값들의합

median은 값들의 중간값을 나타냄


ex5  


a<-c(50,70,40,90,100,20);

b<-range(a); b

c<-length(a);c 

d<-rank(a);d


20 100

6

3 4 2 5 6 1


range 리스트의 최소 최대값이 출력된다. 범위를 보여준다.

length 리스트의 index길이

rank 순위를 보여준다 값이 작은게 우선순위가 높다.


ex6 문자열합치기


a<-c("호랑이","코끼리","앵무새");a

b1=paste(a,collapse = ""); b1

b2=paste(a,collapse = " "); b2

b3=paste(a,collapse = ","); b3


"호랑이" "코끼리" "앵무새"
"호랑이코끼리앵무새"
"호랑이 코끼리 앵무새"
"호랑이,코끼리,앵무새"

paste문자열 합치기


c<-c("tiger");c

d<-paste(c,"turtle");d


"tiger"

"tiger turtle"



ex7 install 할때 적을것

#install.packages('ggplot2')

library(ggplot2) 



오른쪽에 global environment 에 나오게된다 import하는 것임(할떄마다 import해줘야됨)

plot쓸떄 안되면 써야된다.



ex7


a<-c(10,10,20,10,20,30,10,20,30,40);a

qplot(a) a안에 들어간 각각의 숫자만큼 차트생성


dataframe


a<-c(1,4,9,1,5);a #a 필드 레코드갯수 5ro

b<-c(3,6,9,2,4);b #b 필드

c<-c(2,0,5,9,1);c #c 필드

df= data.frame(a,b,c);df


국어<-c(1,4,9,1,5);a #a 필드 레코드갯수 5

영어<-c(3,6,9,2,4);b #b 필드

수학<-c(2,0,5,9,1);c #c 필드

df= data.frame(국어,영어,수학);df


df= data.frame(

  a=c(1,4,9,1,5),

  b=c(3,6,9,2,4),

  c=c(2,0,5,9,1)

  );df


df$a #a 필드만 출력한다.

df$b

df$c


  a b c -> 국어 영어 수학

1 1 3 2

2 4 6 0

3 9 9 5

4 1 2 9

5 5 4 1


1 4 9 1 5


ex8 출력


sprintf("%d %f",d,e)상수, 소수점 자리수 

sprintf(%.02f,d)소수점 둘째자리까지

cat(a) 가장편한 출력 함수



ex9 파일저장


저장한 파일이 안나올경우 file창에서 reload


write.csv(df,file="sample01.csv")


# "","a","b","c"

# "1",1,3,2

# "2",4,6,0

# "3",9,9,5

# "4",1,2,9

# "5",5,4,1


#csv 파일형식이다. 


ex9 파일읽기, 열,행 추가


파일에가서 맨윗줄 ""를 뺀 후의 결과


  a b c

1 1 3 2

2 4 6 0

3 9 9 5

4 1 2 9

5 5 4 1


df = read.csv("smaple01.csv"); df

names(df)<-c("국어", "영어" ,"수학"); df 


파일 내용을 소스에서 바꾸기



#install.packages('ggplot2')

library(ggplot2)


#ex1

df = read.csv("sample02.csv", fileEncoding = "UTF-8"); df

names(df)<-c("A", "B"); df


#ex2

(df$A) #필드안의 내용을 보여준다

(df[1]) 


#ex3

head(df) #선두에서부터 6개만 보여주세요

tail(df) #뒤에서부터 6개만 보여주세요


#ex4 행과열의 갯수

dim(df)#12행 2 행과열을 보여준다 12 2

nrow(df)#세로 갯수만 보여주세요 12

ncol(df)#가로 갯수만 보여주세요 2


#ex5 가로세로 필드이름 뽑아내기

names(df)#필드 이름을 뽑아낸다. "A" "B"

rownames(df)#세로 필드 이름만 뽑아낸다.


#ex6 요약

summary(df)#파일이 가지고 있는 정보를 요약해서 보여준다.


#ex7 행과열 선택해서 출력

df

df[,] #위와 같은코드

df[3,] #3번쨰 행을 보여주세요드

df[,1] #열을 보여주세요

df[1,1] #행과열을 동시에 나타낼수있다.


#ex8 8월달 데이터를 삭제해보자자

df<-df[-8,];df

#ex9 13월달 데이터를 추가하자

df["201213",]<-c(100,2000);df

#ex10 

z<-c(99,99,99,99,99,99,99,99,99,99,99,99)

df<- cbind(df,추가=z)

df



ex10 histogram만들어주기


#install.packages('ggplot2')

library(ggplot2)

df = read.csv("sample02.csv", fileEncoding = "UTF-8"); df

names(df)<-c("A", "B"); df

#View(df)#이쁘게보  여줌

df$c<-df$A+df$B#열의 값을 더해준것 출력

df


head(df,3)#원하는 갯수설정 가능

d<-sum(df$c); d #모든 관광객 합

hist(df$A);#빈도수를 그래프로 나타내준다.범위는 알아서 정해준다. 값의 평균으로 정해주는듯

df$d<-c(df$c%/%1000)

df

hist(df$A, nclass = 20)#히스토그램의 구간을 20개로 나눴다는 말이다.

qplot(df$d, bins = 30)


head(mpg)

names(mpg)<-c("제조회사","모델명","배기량","연식","실린더갯수","변속기종류",

              "구동방식","연비1","연비2","연료의 종류","차종"); mpg

head(mpg)

View(mpg)




728x90

'비트 장기 > R' 카테고리의 다른 글

9/5  (0) 2018.09.05
9/4  (0) 2018.09.04
예제 11번~  (0) 2018.09.03

댓글