전체 글 223

4. 그래프 그리기

R은 2차원, 3차원, 지도, 네트워크 등 다양한 그래프를 지원하는데 (그래서 인기있음!) 그래프를 그릴 때는 gglot2 패키지를 자주 사용한다. 1. ggplot의 그래프 ggplot문법은 레이어 구조로 구성되어있다. Theme Cooridnates Statistics Facets Geometries: 데이터를 표현할 도형 (ex. 그래프, 선, 막대 등) Aesthetics: 축 스케일, 색, 채우기 등 미적인 요소들 Data: 시각화하려는 데이터 코딩에서 사용하는 실제적인 단계는 다음과 같다: Step1 : 배경설정 ex) ggplot(data=mpg, aes(x=displ,y=hwy)) Step 2: 그래프 추가 ex) geom_point() Step 3: 설정 추가 ex) xlim(3,6)+y..

언어/R 2021.06.15

3. 데이터 전처리

데이터 전처리는 데이터를 사용하기 전 변형해야 하는데 이를 전처리라고 한다. 구체적으로, 1) 데이터를 필요에 따라 추출하거나 2) 종류별로 나누거나 3) 데이터를 합치는 가공 등을 의미한다. 데이터 전처리에는 dplyr 패키지를 사용한다. filter() select() Arrange() mutate() : 변수 추가 summarise() : 통계치 group_by() left_join() bind_rows() 이 함수들은 모두 %>% 연산자를 이용하여 데이터에 적용한다. %>% 은 Ctrl+Shift+M 으로 자동완성할 수 있다. 1. filter(조건) 은 조건에 따라 데이터를 추출하는 것 library(dprly) library(readxl) exam % filter(math>80) exam3 조..

언어/R 2021.06.15

2. 미국 인구 데이터(midwest) 실습

midwest 데이터 : ggplot2 패키지 안에 있는 미국 인구통계 데이터 과제 1) poptotal 변수명를 total로, popasian 변수명를 asian으로 바꾸기 2) total, asian을 이용해 '전체 인구 대비 아시아인 인구 비율' 파생 변수 생성하고, 히스토그램 만들기 3) 아시아 인구 백분율 전체 평균을 구하고, 평균을 초과하면 ‘large’, 그외에는 ‘small’로 하여 파생변수를 만들자. 4) large와 small에 해당하는 지역이 얼마나 되는지 빈도표와 빈도 막대 그래프를 그려 확인해 보자. 코드 1) 데이터 로드 ggplot2 패키지를 로드하고, midwest 데이터를 가져온다. 후에 원본이 필요할 수도 있으니 복사본을 만든다. rename()을 이용하기 위해서 dply..

언어/R 2021.06.15

0. R, R Studio설치 및 기본

0. R for what? R은 통계 계산 및 그래픽을 위한 프로그래밍 언어이자, 소프트웨어 환경.- 패키지를 추가해 기능을 확장할 수 있다. - 기본적인 패키지들은 R과 함께 설치되며, 추가적으로 패키지를 받을 땐 CRAN을 통해 받을 수 있다. * CRAN: the Comprehensive R Archive Network- 가장 특징적인 장점은 그래픽 기능을 통해 질 좋은 그래프를 생성할 수 있다는 것이다. - 행렬 계산을 위해서도 사용된다. 참고) https://ko.wikipedia.org/wiki/R_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4) R (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모..

언어/R 2021.06.15

[Kotlin] TS(NavHostFragment), [xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다.

NavHostFragment 트러블 슈팅이랄 것도 없지만, 강의에서 나온 코드로 하니까 안됐는데 다음과 같이 하면 됨 //MainActivity class 내부 lateinit var navController : NavController // MainActivity.kt 안에 onCreate 함수 안 navController = nav_host_fragment.findNavController() 고친 후: import androidx.navigation.fragment.NavHostFragment // 중략 val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment val na..

[Kotlin] 간단 앱 개발

Joyce님의 3강으로 끝내는 코틀린 강의를 들어보았다. 나중에 앱을 만들다가 궁금한 점이 있으면 영상을 보면 되지만 영상에 내가 원하는 파트를 딱딱 찾기가 쉽지 않으니까 기억을 살려서 중요한 뼈대 정도면 정리해보았다. https://www.youtube.com/watch?v=M1e2tLnzVPo&t=11s 이 분의 강의를 참고했다. 강의는 총 3시간이었는데, 나는 왜 24시간은 걸린 것 같을까 ㅎㅎ 아무튼 Navigation component 를 이용해서 좀더 직관적으로 앱을 구성할 수 있다. https://developer.android.com/guide/navigation/navigation-getting-started 탐색 구성요소 시작하기 | Android 개발자 | Android Develop..

[Kotlin] 고급 문법2(Data class, Object, Companion Object)

3. Data Class 데이터만을 다루는 클래스에 대한 것 * 선언: ()안에는 parameter을 저장해주면 된다. data class Ticket(val companyName : String, val name : String, var date : String, val seatNum : Int) * 제한사항 1) 기본 생성자에 최소 하나의 파라미터 필요 2) 기본 생성자의 파라미트는 val or var 3) data class는 abstract, open, sealed, inner가 될 수 없다 * 특징 - 하나의 프로퍼티처럼 사용 가능하다 - toString, hashcode생성 등 자동으로 가능해짐 -> canomical methods라고 부름 * CANOMICAL METHOD - Any 에 선언..

[Kotlin] 고급 문법1(Lamda, Class)

1. Lamda * 람다식은 마치 value 처럼 다룰 수 있는 익명함수이다. * 최근에 리액트인지 노드js에서 배운 것처럼, 바로 리턴하는 함수를 만들어주는 것 1) 메소드의 파라미터로 넘겨줄 수가 있다. fun maxBy(a: Int)에서 함수를 parameter로 넣어주기 2) return 값으로 사용할 수 있다. * 람다의 기본 선언방식: val lamdaName : Type = {argumentList -> codeBody} * Type: (parameter) -> (return type) // 람다를 이용해서 제곱을 구하기 // 1. 첫 번째 방법 val square : (Int) -> (Int) = {number -> number*number} // int 형이 패러미터고 int 형이 반환형..

[Kotlin] 기본 문법

1. 함수 선언 // 1. 함수 fun helloWorld() : Unit{ println("Hello world") } fun add(a : Int, b : Int) : Int { return a+b } - return하지 않으면 Unit을 더해줘야 하지만, redundant라서 굳이 넣지 않아도 된다. - 변수 타입이 나중에 온다 (변수이름 : 자료형) 2. 변수 선언 // 2. val vs var // val = value : 불변한다 fun hi(){ val a : Int = 10 // val은 상수 var b : Int = 9 //변할 수 있음 variable // a = 100 에러 뜸 b = 100 val c = 10 //이렇게 해도 변수형 정의 안해줘도 알아서 int로 알아들음 var d ..