1. 주요 코드
요인으로 집단 정의
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 <- unstack(data.frame(v,f))
--> 두 함수 모두 모두 벡터로 된 리스트를 반환
데이터 프레임을 여러집단으로 분할
MASS 패키지 , Cars93 데이터셋 활용
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=fargetVariabele)
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)
im(종속변수 ~ 독립변수1 + 독립변수2 + .... + 독립변수k , data=df ))
병력 벡터 , 리스트들 함수 적용
mapply( factor , vec1 , vec2 , vec3 , ... , vec k )
mapply( factor , list1 , list2 , list3 , ...., list k )
2. 문자열 날짜 다루기
문자열 길이
nchar("단어")
--> 단어나 문장 또는 벡터내 원소의 문자열 길이를 반환
[주의] length(vec) 문자열의 길이가 아닌 벡터의 길이를 반환
문자열 연결
paste("단어1","단어2",sep="-")
paste("the pi is approximately" , pi )
하위문자열 추출
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)
'자격증 > ADSP' 카테고리의 다른 글
데이터 분석 준전문가(adsp) - 데이터 가공 (0) | 2020.01.31 |
---|---|
데이터 분석 준전문가(adsp) - 데이터 마트 (0) | 2020.01.30 |
데이터 분석 준전문가(adsp) - 데이터 구조와 데이터 프레임 - 2 (0) | 2020.01.28 |
데이터 분석 준전문가(adsp) - 데이터 구조와 데이터 프레임 - 1 (0) | 2020.01.27 |
데이터 분석 준전문가(adsp) - 입력과 출력 (0) | 2020.01.23 |
#IT #먹방 #전자기기 #일상
#개발 #일상