728x90
공부 페이지
281 페이지 ~ OO 페이지
배운 개념
[]와 논리연산으로 관측치 선택하기
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | > Sys.setlocale('LC_ALL' , 'ko_KR.UTF-8') [1] "ko_KR.UTF-8/ko_KR.UTF-8/ko_KR.UTF-8/C/ko_KR.UTF-8/C" > setwd("~/Documents/Workspace/R/Practice/data") > subway = read.csv("subway.csv", fileEncoding = "euc-kr") > names(subway) = c("Station", "Date", "InOut", paste0("H", 5:25)) > subdata1 = subset(subway, Station %in% c("강남(222)", "명동(424)")) > str(subdata1) 'data.frame': 124 obs. of 24 variables: $ Station: Factor w/ 119 levels "가락시장(340)",..: 2 2 2 2 2 2 2 2 2 2 ... $ Date : Factor w/ 31 levels "2016-12-01","2016-12-02",..: 1 1 2 2 3 3 4 4 5 5 ... $ InOut : Factor w/ 2 levels "승차","하차": 1 2 1 2 1 2 1 2 1 2 ... $ H5 : num 421 520 420 509 903 320 767 146 373 509 ... $ H6 : num 807 2442 806 2377 907 ... $ H7 : num 2087 6944 1952 6687 809 ... $ H8 : num 3435 15612 3357 15203 1228 ... $ H9 : num 2619 13090 2511 12988 1687 ... $ H10 : num 2343 6066 2298 6256 2248 ... $ H11 : num 2952 4568 3035 5096 3218 ... $ H12 : num 3356 4340 3931 4478 4472 ... $ H13 : num 4835 5396 4957 5805 5693 ... $ H14 : num 4740 4784 5229 5293 6226 ... $ H15 : num 5876 4559 6116 5061 7071 ... $ H16 : num 6389 4619 6723 5432 8459 ... $ H17 : num 8641 6582 9256 7398 9650 ... $ H18 : num 14714 9701 15777 11822 7618 ... $ H19 : num 10351 8178 11210 13295 5721 ... $ H20 : num 7976 3282 8264 5105 5730 ... $ H21 : num 10193 2383 10123 3124 7063 ... $ H22 : num 10206 2103 11160 2640 8467 ... $ H23 : num 4845 1175 7515 1917 4815 ... $ H24 : num 1076 512 2110 899 378 ... $ H25 : num 0 0 3 33 12 28 0 0 0 0 ... > subdata2 = subset(subway, Station %in% c("강남(222)", "명동(424)") & Date == "2016-12-24") > str(subdata2) 'data.frame': 4 obs. of 24 variables: $ Station: Factor w/ 119 levels "가락시장(340)",..: 2 2 37 37 $ Date : Factor w/ 31 levels "2016-12-01","2016-12-02",..: 24 24 24 24 $ InOut : Factor w/ 2 levels "승차","하차": 1 2 1 2 $ H5 : num 1133 356 58 33 $ H6 : num 1093 1254 112 529 $ H7 : num 760 1264 183 831 $ H8 : num 1056 2993 386 1281 $ H9 : num 1471 6211 765 2472 $ H10 : num 2113 5394 1527 3306 $ H11 : num 3176 5733 1709 4276 $ H12 : num 4460 6098 2074 5690 $ H13 : num 5509 7159 2483 6636 $ H14 : num 5883 6537 3025 7463 $ H15 : num 6573 6079 3806 7285 $ H16 : num 7672 5995 4742 8065 $ H17 : num 8170 6118 5802 8345 $ H18 : num 6446 6693 6164 7868 $ H19 : num 4844 5103 6268 6047 $ H20 : num 4667 4303 6423 4118 $ H21 : num 5829 4115 7093 3013 $ H22 : num 6575 3179 6998 1748 $ H23 : num 3848 2204 3818 796 $ H24 : num 100 254 3 79 $ H25 : num 0 0 0 0 > subdata3 = subset(subway, Station %in% c("강남(222)", "명동(424)") & Date == "2016-12-24", select=c(Station, InOut, H23, H24, H25)) > subdata3 Station InOut H23 H24 H25 1969 강남(222) 승차 3848 100 0 1970 강남(222) 하차 2204 254 0 6743 명동(424) 승차 3818 3 0 6744 명동(424) 하차 796 79 0 | cs |
조건이 복잡해 졌을 때, subset() 함수로 부분 데이터를 선택할 수 있다. 선택하고 싶은 변수를 'select=' 옵션에 적는다.
dim() / nrow() / length() 함수로 변수/데이터의 크기 확인하기
1 2 3 4 5 6 7 8 9 10 11 | > dim(subdata1) [1] 124 24 > nrow(subdata1) [1] 124 > length(subway$Station) [1] 7378 > length(levels(subway$Station)) [1] 119 | cs |
dim() 수는 관측치와 변수의 개수만 확인할 수 있다.
nrow() 함수는 관측치의 개수만 계산한다.
length()는 하나의 변수 속 몇 개의 값이 있는지를 계산한다.
levels() 와 같이 사용하면, 수준이 몇 개인지 쉽게 확인할 수 있다.
write.csv() 함수로 데이터를 csv 파일로 내보내기
1 2 3 | > write.csv(subdata3, "result.csv", fileEncoding = "euc-kr") > write.csv(subdata3, "result2.csv", fileEncoding = "euc-kr", row.names = FALSE) | cs |
행 번호 혹은 행 이름을 함께 저장하지 않으려면, row.names=FALSE 옵션으로 저장하지 않을 수 있다.
다음 시간에 배울 것
패키지 설치 및 불러오기
'R > R 프로젝트' 카테고리의 다른 글
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 51일차 (0) | 2018.07.06 |
---|---|
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 50일차 (0) | 2018.07.05 |
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 48일차 (0) | 2018.07.03 |
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 47일차 (0) | 2018.07.02 |
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 46일차 (0) | 2018.07.01 |
댓글