## 기초 명령어 실습 ## 1+1 1:10 dd = c(1:10) ## c() -> 같은 종류의 요소(numeric, int, float등)만 있을때 ## list() -> 다양한 종류의 요소가 들어올때 dd[-10] ## 기본유형 ## x1 = 3 # numeric x2 = "Love is choice" # character x3 = FALSE # logical x4 = 3-2i # complex x5 = '123' # character x6 = 'false' # character x7 = 'FLASE' # character str(x1) ### 문자 - 정수 - 논리 ### 결측값은 95%까지 ### 정규분포는 30번이상한것으로 해야한다 xx1 <- c(1:100) xx1 is.na(xx1) table(is.na(xx1)) x1 = c(1,'love',TRUE,2+3i) x1 v1 = c(27,35,47,41) mode(v1) is.numeric(v1) is.na(v1) table(is.na(v1)) v2 = c(27,35,47,NA,55) mode(v2) is.numeric(v2) is.na(v2) table(is.na(v2)) length(v1) length(v2) names(v1) names(v1) = c('kim','lee','park','choi') names(v1) ## Indexing ## 대괄호 == [ ] => 추출해라 v1 v1[1] v1[1:3] v1[-4] v1[c(2,4)] v1 = 1:3 v2 = 4:6 v3 = v1+v2 # can add list v1 = 1:3 v2 = 1:6 v3 = v1+v2 # reusable add v3 ### 데이터거래사 ## Factor, ordered Factor (등급을 정할 수 있는) gender = c('m','f','f','m','f','f') gender_factor = factor(gender) levels(gender_factor) gender_factor2 = factor(gender, levels = c('m','f'), labels = c('남자','여자')) gender_factor2 gender_factor3 = factor(gender,ordered = TRUE) gender_factor3 ## Matrix ## v1 = 1:3 v2 = 4:6 m1 = rbind(v1,v2) m2 = cbind(v1,v2) v1 v2 m1 m2 m1[2,1] == 8 m1[2,1] = 8 m1[,3] is.na(m1) table(is.na(m1)) m1[1,1] = NA m1[2,3] = NA table(is.na(m1)) str(m1) m3 = matrix(1:4, nrow = 2, ncol = 2) m4 = matrix(1:4, nrow = 2, ncol = 2, byrow = TRUE) m3 m4[2,1] = NA ## array ## a1 = array(1:10, dim=10) a2 = array(1:10, dim=c(2, 5)) a3 = array(1:10, dim=c(3, 3, 4)) a1 a2 a3[,,2][3,3] = 100 a3 ## DataFrame ## id = 1:5 age = c(29, 32, 47, 35, 23) gender = c('f','m','m','f','f') height = c(163, 177, 172, 157, 169) DF1 = data.frame(id, age, gender, height) DF2 = data.frame(id, age, gender, height, stringsAsFactors=FALSE) DF3 = data.frame(id, age, gender, height, stringsAsFactors=TRUE) DF1 DF2 DF3 View(DF3) str(DF3) DF4 = DF3[-1] DF4 View(DF4) str(DF4) ## 기술통계량 ## library('psych') describe(DF4)