300x250
■데이터 변형 _ 주요 코드
기능 | R코드 | 비고 |
요인으로 집단 정의 | v<-c(24,23,52,46,75,25) w<-c(87,86,92,84,77,68) f<-factor(c("A","A","B","B","C","A")) |
|
벡터를 여러집단으로 분할 (벡터의 길이만 같으면 됨) |
groups<-split(v,f) groups<-split(w,f) groups<0unstack(data.frame(v,f)) |
두 함수 모두 벡터로 된 리스트를 반환 |
데이터 프레임을여러집단으로 분할 | MASS 패키지, Cars92데이터 셋 활용 library(MASS) sp<-split(Cars93$MPG.city,Cars93$Origin) median(sp[[1]] |
|
리스트의 각 원소에 함수 적용 | lapply(결과를 리스트 형태로 반환) list<-lapply(l,func) sapply(결과를 벡터 또는 행렬로 반환) vec<-sapply(l,func) |
|
행렬에 함수 적용 | m<-apply(mat,1,func) m<-apply(mat,2,func) |
|
데이터프레임에 함수적용 | dfm<-lapply(dfm,func) dfm<-sapply(dfm,func) dfm<-apply(dfm,func): 데이터 프레임이 동질적인 경우만(모두 문자, 숫자)활용가능, 데이터프레임을행렬로 변환 후 함수 적용. |
|
대용량데이터의 함수적용 | <sapply를 통한 간단한 R코딩> cors<-sapply(dfm,cor,y=targetVariabele) mask<-(rank(-abs(cors))<=10) best.pred<-dfm[,mask] lm(targetVariabele~bes.pred) |
많은 변수가 있는 데이터에서의 다중회구분석 1. 데이터 프레임에서 타겟 변수를 정한다. 2. 타겟변수와 상관계수를 구한다. 3. 상관계수가 높은 상위 10개의 변수를 입력변수로 선정 4. 타겟변수와 입력변수로 다중회귀분석을 실시한다. |
집단별 함수 적용 | tapply(vec,factor,func) | 데이터가 집단(factors)에 속해 있을때 합계/ 평균구하기 |
행집단 함수 적용 | by(drm,factor,func) 요인별 선형회귀선구하기 model(dfm,factor,function(df)lm(종속변수~독립변수1+독립변수2+⋯+독립변수k,data=df)) |
|
병렬 벡터, 리스트들 함수 적용 | mapply(factor,vec1,vec2,vec3,⋯,vec k) mapply(factor,list1,list2,list3,⋯,list k) |
■데이터 변형 _ 문자열 날짜 다루기
기능 | R코드 | 비고 |
문자열 길이 | nchar("단어") | 단어나 문장 또는 벡터내 원소의 문자열 길이를 반환 [주의] length(vec)문자열의 길이가 아닌 벡터의 길이를 반환 |
문자열 연결 | paste("단어1","단어2",sep="-") paste("the pi is approximately",pi) paste(vec,"loves me",collapse=",and") |
|
하위문자열 추출 | substr("statistics",1,4) | 문자열의 1첫째에서 4자리까지 추출 |
구분자로 문자열 추출 | strsplit(문자열, 구분자) | |
하위 문자열 대체 | sub(old,new,string) gsub(old,new,string) |
|
쌍별조합 | mat<-outer(문자열1,문자열2,paste,sep="") | |
날짜 변환1 | Sys.Date() as.Date() |
현재 날짜를 반환 날짜 객체로 반환 |
날짜 변환2 | format(Sys.date(),format=%m/%d/%y) | |
날짜 조회 | format(Sys.Date(),'%a') format(Sys.Date(),'%b') format(Sys.Date(),'%B') format(Sys.Date(),'%d') format(Sys.Date(),'%m') format(Sys.Date(),'%y') format(Sys.Date(),'%Y') |
요일조회 축약된 월이름 조회 전체 월이름 조회 두자리 숫자의 일 조회 두자리 숫자의 월 조회 두자리 숫자의연도 조회 네자리 숫자의 연도조회 |
날짜 일부 추출 | d<-as.Date("2014-12-25") p<-as.POSIXlt(d) p$yday start<-as.Date("2014-12-01") end<-as.Date(2014-12-25") seq(from=start.to=end,by=1) |
이 글과 함께 읽으면 좋은글
R 기초 함수와 문법 - 1
■ 기초 기능 R코드 비고 출력하기 print() : 출력형식을 지정할 필요없음. 한번에 하나의 객체만 출력 cat() : 여러 항목을 묶어서 연결된 결과로 출력, 복합적 데이터 구조 (행렬, list 등) 를 출력 할
chinggu2000.tistory.com
R 기초 함수와 문법 - 2
■ 벡터, 리스트, 행렬 다루기 기능 R코드 비고 벡터에 데이터 추가 v v[length(v)+1] 벡터에 데이터 삽입 append(vec,newvalues,after=n) 요인 생성 f f 여러 벡터를 합쳐 하나의 벡터와 요인으로 만들기 comb 벡
chinggu2000.tistory.com
반응형
'AI 관련 > ADsP, ADP' 카테고리의 다른 글
ADsP 1과목 공부_1 (0) | 2021.05.07 |
---|---|
ADsP 2과목 공부 _1 (0) | 2021.05.06 |
ADsP 3과목 공부 _1 (0) | 2021.05.04 |
R 기초 함수와 문법 - 2 (0) | 2021.04.24 |
R 기초 함수와 문법 - 1 (0) | 2021.04.24 |
댓글