mutate 새 필드만들기
1 2 | # df1<-df %>% mutate(total=kor+eng+mat) #mutate 새로운 필드를 만들어준다. a필드 생성 kor껄 넣어줌 # df1 | cs |
1 2 3 4 5 6 | #df %>% mutate(a=ifelse(kor>=60 , "합격", "불합"))#mutate안에 함수 사용가능 #df1<-df %>% mutate(a=kor,b=eng,c=mat) #mutate 새로운 필드를 만들어준다. a필드 생성 kor껄 넣어줌 df %>% arrange(kor);df #arrange함수에 있는 변수를 기준으로 오름차순으로 나타낸다. df1<-df %>% mutate(total=kor+eng+mat) %>% arrange(total) %>% select(name,total);df1 | cs |
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 | #install.packages("dplyr")#데이터 가공에 유용한 패키지 library("ggplot2") library("dplyr")# 데이터 조건줘서 찾기가 매우 편하다. 이거 써야 필터가능 name<-c("장영실","이순신","이이","정약용","정우현","김구","유관순","김유신") class<-sample(1:3,8,replace=T); #학년 kor<-sample(1:100,8,replace = T) eng<-sample(1:100,8,replace = T) mat<-sample(1:100,8,replace = T) df<-data.frame(name,class,kor,eng,mat) # df1<-df %>% mutate(total=kor+eng+mat) #mutate 새로운 필드를 만들어준다. a필드 생성 kor껄 넣어줌 # df1 #df %>% mutate(a=ifelse(kor>=60 , "합격", "불합"))#mutate안에 함수 사용가능 #df1<-df %>% mutate(a=kor,b=eng,c=mat) #mutate 새로운 필드를 만들어준다. a필드 생성 kor껄 넣어줌 #df %>% arrange(kor);df #arrange함수에 있는 변수를 기준으로 오름차순으로 나타낸다. # df1<-df %>% mutate(total=kor+eng+mat) %>% # arrange(total) %>% # select(name,total);df1 df %>% summarise(mean(kor),sum(kor),max(kor),n())#n은 통계에 쓰인 인덱스의 갯수를 나타냄 # df안의 데이터들을 ()안에 함수를 여러개 써서 통계를 나타낸다. df1<-df %>% summarise(n1=sum(kor),n2=sum(eng),n3=sum(mat),n()) %>% mutate(n1+n2+n3) dim(df1) #수학점수가 60점이상인 학생의 이름과 수학 점수를 출력fs sf df %>% filter(mat>=60) %>% select(name,mat) df %>% select(name,mat) %>% filter(mat>=60) %>% arrange(mat); # %>% 은 출력 굳이 안해도된다. # select filter 순서 바꿔도 같다. | cs |
1 2 3 4 5 6 | df %>% group_by(class) %>% summarise(sum(kor)) # 1 1 228 # 2 2 256 # 3 3 15 | cs |
1 2 3 4 5 6 7 8 9 10 11 | a<-c(1,2,3) b<-c(80,90,70) c<-c(10,20,30) df1<-data.frame(a,b) df2<-data.frame(a,c) df3<-left_join(df1,df2,by="a");df3 #left join a를 기준으로 df1과 df2의 데이터를 합쳐준다. d<-c("월","화","수") df2<-data.frame(a,d) df3<-left_join(df1,df2,df3,by="a");df3 | cs |
date frame left join으로 가로합치기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | a<-c(1,2,3,4,5,6)#학번 b<-c(10,20,30,30,20,10)#학번을 가진 학생들이 수강신청한 숫자 df1<-data.frame(a,b) b<-c(10,20,30) d<-c("컴공과","일어과","수학과") df2<-data.frame(b,d) df3<-left_join(df1,df2,by="b");df3#필드명이 같은게 있어야 left join 가능하다 #인덱스값의 숫자가 달라도 값이 같으면 할수있다. # a b d # 1 1 10 컴공과 # 2 2 20 일어과 # 3 3 30 수학과 # 4 4 30 수학과 # 5 5 20 일어과 # 6 6 10 컴공과 | cs |
date frame bind_rows로 세로합치기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #install.packages("dplyr")#데이터 가공에 유용한 패키지 library("ggplot2") a<-c(1,2,3)#학번 b<-c(10,20,30)#오전에 시험친 학생의 점수 df1<-data.frame(a,b) a<-c(4,5,6)#학번 b<-c(40,50,60)#오후에 시험친 학생의 점수 df2<-data.frame(a,b) df3<-bind_rows(df1,df2);df3#각 두개의 필드명이 같아야 bind_rows할수있다. #세로합치기 값이 없는부분은 NA처 | cs |
산포도
1 2 3 4 5 6 7 8 9 10 11 | #ex1 df<-data.frame(a,b); #ggplot(data=df,aes(x=a,y=b))#(data=df,aes(x=a,y=b))그래프 틀 나타내기 #ex2 ggplot(data=df,aes(x=a,y=b))+ geom_point()#그래프 설정 산포도를 나타내준다. #ex3 ggplot(data=df,aes(x=a,y=b))+ geom_point()+ xlim(2,8)+ ylim(4,6)#4~6 사이의 수 | cs |
1 2 3 4 5 6 7 8 9 | #ex1 df<-data.frame(a,b); #ggplot(data=df,aes(x=a,y=b))#(data=df,aes(x=a,y=b))그래프 틀 나타내기 #ex2 ggplot(data=df,aes(x=a,y=b))+ geom_point()#그래프 설정 산포도를 나타내준다. #ex3 ggplot(data=df,aes(x=a,y=b))+ geom_point()#오른쪽 밑에 plots에 export - save as image - 파일명 sample png | cs |
1 2 3 4 5 6 7 8 | head(mpg) qplot(mpg$cty,bins = 30) dim(mpg)#테이블 갯수와 필드 갯수 summary(mpg)#전체 보여주기 ggplot(data=mpg,aes(x=mpg$cty,y=mpg$hwy))+ geom_point() | cs |
1 2 3 4 5 6 7 8 9 10 | #install.packages("dplyr")#데이터 가공에 유용한 패키지 library("ggplot2") head(economics) dim(economics)#테이블 갯수와 필드 갯수 summary(economics)#전체 보여주기 ggplot(data=economics,aes(x=economics$psavert,y=economics$pce))+ geom_point() #unemploy pce | cs |
1 2 3 4 5 6 7 | a<-sample(1:10,100, replace= T); b<-sample(1:10,100, replace= T); df<-data.frame(a,b) ggplot(data= diamonds,aes(x=diamonds$cut))+ geom_bar()#속성값 하나만 써서 그친구의 빈도를 보여준다. #1,2,3,4가 나타난 횟수, 빈도를 보여준다. #정보가 의미를 가진다 = 기하학적이다. | cs |
1 2 3 4 5 6 | a<-sample(1:5,10, replace= T); b<-sample(1:10,10, replace= T); df<-data.frame(a,b);df ggplot(data= df,aes(x=df$a,y=df$b))+ geom_col()#a를 가지고있는 b 데이터의 합 | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #install.packages("dplyr")#데이터 가공에 유용한 패키지 library("ggplot2") #ex2 가상데이터 평균수면시간 a<-c("호랑이","여우","코끼리","늑대","강아지","개"); b<-c(0,0,1,1,0,1);#0은 암놈 1은 숫놈 c<-sample(6:14,6,replace=T) df<-data.frame(a,b,c); #남녀 평균수면시 df<-df %>% group_by(b) %>% summarise(d=mean(c));df # ggplot(data = df, aes(x=b))+ # geom_bar() ggplot(data = df, aes(x=b,y=d))+ geom_col() | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #install.packages("dplyr")#데이터 가공에 유용한 패키지 library("ggplot2") a<-sample(1:4,20,replace=T);a#1반,2반,3반,4반 b<-sample(1:100,20,replace=T)#국 c<-sample(1:100,20,replace=T)#영 d<-sample(1:100,20,replace=T)#수 #반group기준 별로 총점에 대한 빈도그래프를 보여줘 df<-data.frame(a,b,c,d);df df<-df %>% mutate(total=b+c+d);df df<-df %>% group_by(a) %>% summarise(d = sum(total));df ggplot(df,aes(x=a,y=d))+ geom_col() | cs |
728x90
댓글