본문 바로가기
반응형

프로그래밍언어79

[R] : 데이터 프레임 다루기(1) 데이터프레임 다루기 벡터 R의 최소 데이터 단위이다. 여러 개의 벡터가 모여 하나의 데이터 프레임을 이루게 된다. R에서의 4가지 벡터 character : 문자열을 나타낸다. factor : 순서형 변수와 명목형 변수를 모두 나타낸다. 카테고리형 변수를 표현하는 데이터 타입이다. integer : 정수 값을 표현하는 데이터 타입이다. 이산형 변수에서 사용한다. numeric : 연속형 변수는 이 numeric 타입을 사용하는 것을 권장하고, 실수까지 표현이 가능한 데이터 타입이다. 벡터 만들기 a1 2022. 3. 11.
[R] : 표로 데이터 정리하기 위와 같은 자료를 [ 집합자료 ] 라고 부른다. 한 개 값을 지칭할 때 기준에 따라 변수값 혹은 관측값이라고 부른다. 데이터의 종류는 숫자인지 아닌지에 따라 범주형, 수치형으로 나뉜다. 변수 범주형 변수 명목형 변수 숫자가 아닌, 문자로 나타내지는 변수 값 예 ) 남, 여 순서형 변수 명목형과 비슷하지만 순서가 있다. 예) 학점 [ A+, A-, B+, B- ...] 수치형 변수 이산형 변수 셀 수 있고 정수로 사용된다. 연속형과 구분되어야 하기 때문에 서로 독립적이고 이어져 있지 않다. 예) 1명, 2명 연속형 변수 변수 값이 연속적인 수치 예) 10 ~ 20 도수분포표 : 측정 값을 카운트해 정리하는 표(명목형) 상대도수분포표 : 변수 값이 변수 값에서 어떤 비중을 차지하는지 나타내는 것을 상대도수라.. 2022. 3. 11.
[R] : R에서 외부 데이터 읽어 들이는 다양한 방법 CSV 포맷 읽어들이기 R이 있는 파일의 루트 파일에 예제 파일을 넣는다. read.csv()로 경로를 입력하여 파일을 불러올 수 있다. 즉, 외부에서 테이블로 정리한 데이터를 R로 가져오면 dataframe 객체에 담긴다. read.csv() 함수는 첫 번째 행을 변수행의 이름으로 인식하도록 기본 값이 설정되어 있다. 만약 csv 파일에 변수행의 이름이 없다면 read.csv() 함수의 header 인자를 FALSE로 설정해 주어야 한다. txt 포맷을 다양한 방법으로 읽어들이기 List 2022. 3. 2.
[R] : 패키지, Package 패키지, Package 3D plot을 구현해 주는 패키지 rgl을 설치한다. install.packages("rgl") library("rgl") 설치된 패키지를 사용하기 위해 로드한다. example(plot3d) 인터랙션 그래프인데 창 크기를 조절도 할 수 있고 그래프를 마우스로 잡고 돌려가면서 볼 수도 있다. install.packages("rgl") install.packages("ggplot2") install.packages("ggthemes") install.packages("data.table") install.packages("devtools") install.packages("dplyr") install.packages("plyr") install.packages("reshape2").. 2022. 3. 2.
[R] : 함수와 객체 이해하기 함수와 객체에 대해 공부하고 정리를 했다. 아래 노션 참고 링크를 확인하면 된다. https://ohju96.notion.site/fc0360c1b03c46368bf5fb423b42f300 2022. 3. 2.
[R] : R 설치하기 📝 ← 들어가서 다운로드 한다. 2022. 3. 2.
[JavaScript] : 자바스크립트를 활용한 간단한 계산 시스템 const calculator = { plus: function (a, b) { return a + b; }, minus: function (a, b) { return a - b; }, times: function (a, b) { return a * b; }, divide: function (a, b) { return a / b; }, power: function (a, b) { return a ** b; }, }; const plusResult = calculator.plus(2, 3); const minusResult = calculator.minus(plusResult, 10); const timesResult = calculator.times(10, minusResult); const divide.. 2022. 1. 27.
[JavaScript] : 자바스크립트 배열 기초 활용, Recap **const toBuy = ["potato", "tomato", "pizza"]; console.log(toBuy); toBuy[2] = "water"; console.log(toBuy); toBuy.push("meat"); console.log(toBuy);** JavaScript 배열을 사용하고 값을 추가하는 것을 간단하게 진행했다. 아직도 문법 파트여서 빨리 넘어가고 있는 중이다. 위 로그 출력 결과이다. 2022. 1. 26.
[JavaScript] : Function 기초 실습 function plus(a, b) { console.log(a + b); } plus(4,3) 형식은 이렇게 사용하면 된다. 다른 언어랑 큰 차이가 없다. 문법 파트는 빨리 넘어간다. 2022. 1. 26.
[JavaScript] : Object 기초 실습 constplayer= { name: "OH", points: 10, fat: true, }; console.log(player); player.lastName = "JU"; console.log(player); player.points = player.points + 20; console.log(player); 간단하게 JavaScript의 Object에 대해서 공부했다. 따로 수정하는 방법도 코딩했는데 기초 문법은 빨리 지나가야겠다. 페이지에서 확인해 보면 위 처럼 나온다. 2022. 1. 26.
[JavaScript] : 자바스크립트 기초 파트 const a = 5; const b = 2; let myName = "juhyeon"; console.log(a + b); console.log(a * b); console.log(a / b); console.log("hello " + myName); myName = "Oh JU HYEON" console.log("Your new name is " + myName); const는 값을 바꿀 수 없다. let은 값을 변경할 수 있다. 업데이트가 허용되야 하는 변수는 let, 그 외 변수는 const를 사용한다. 주로 const를 사용하길 추천하고 가끔은 let도 괜찮다. 하지만 가능하면 var는 안 쓰는 게 좋다. 왜냐하면 코드에서 무엇을 원하는지 알기가 어려워진다. let something; conso.. 2022. 1. 24.
[Java] : 인터페이스, interface 인터페이스의 개념 인터페이스는 추상 클래스와 마찬가지로 직접 인스턴스를 생성할 수 없다는 특징을 가지고 있다. 또, 인터페이스는 일반 메서드와 생성자를 가질 수 없고, 필드 또한 static final을 붙인 상수화된 필드만 사용할 수 있으며 반드시 초기화를 해야 한다는 특징이 있다. interface 인터페이스명 { static final 필드 및 추상 메서드 정의 } 인터페이스는 코드로 보면 이런 형식을 가지고 있고 추상 클래스와 비슷하지만 다중 상속을 위해 사용하기도 한다. 또, 인터페이스는 상속을 받기 위해 extends 대신에 implements 키워드를 사용한다. interface TestCarSetting { static final int CAR_COUNT = 0; abstract void .. 2022. 1. 17.
[Java] : 추상 클래스, abstract class란? 추상 클래스란? 추상 클래스는 직접 인스턴스를 생성할 수 없는 클래스이다. 추상 클래스를 사용하기 위해서는 자식 클래스에서 추상 클래스를 상속 받고 자식 클래스의 인스턴스를 생성해야 한다. 추상 클래스를 만들기 위해서는 abstract 키워드를 앞에 붙여줘서 사용하면 된다. 예시 코드 abstract class CarSetting{ int speed = 0; String color; void upSpeed(int speed) { this.speed += speed; } } 먼저 abstract를 붙여 추상화 클래스를 만들어준다. 추상화 클래스에 speed와 color을 선언, 초기화 해주고 upSpeed()메서드를 만들어 준다. class Sedan extends CarSetting { } Sedan은 .. 2022. 1. 17.
[Java] : 오버라이딩을 제한하는 final 오버라이딩을 제한하는 final 부모 클래스의 메서드 오버라이딩을 막기 위해 메서드 앞에 final 키워드를 붙여 사용한다. final이 붙은 메서드는 자식 클래스에서 오버라이딩을 할 수 없고 부모 클래스에서 정의한 대로 사용해야 한다. 주로 static과 함께 클래스 변수를 상수처럼 지정하는 데 사용된다. 즉, final이 붙은 필드와 메서드는 말 그대로 마지막이 되므로 상속이 불가능하고 마지막 변수 값을 갖기 때문에 값의 수정이 불가능하게 된다. 예시 코드 class TestCarSetting { int testCarSettingSpeed = 0; final void upSpeed(int testCarSettingSpeed) { this.testCarSettingSpeed += testCarSetti.. 2022. 1. 17.
[Java] : method overriding 메서드 오버라이딩 메서드 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의 하는 것을 말한다. 예시 코드 class ToyPenSetting { String color = "Red"; void changeColor(String color) { this.color = color; System.out.println("장난감 연필의 색상 (부모 클래스) => " + this.color); } } ToyPenSetting 클래스는 부모 클래스이다. 펜의 색상을 Red로 초기화 시켜놓고 changeColor라는 색상을 바꿔주는 메서드를 만들어 줬다. class TestPen1 extends ToyPenSetting{ void changeColor(String color) { this.color = col.. 2022. 1. 17.
[Java] : 상속을 허용하는 protected 상속을 허용하는 protected protected는 public과 다르게 같은 패키지와 클래스에서만 접근할 수 있다. 예시 코드 class RcCarSetting { protected String color; int speed; private를 공부할 떄 만든 코드를 조금 변형했다. color을 protected로 지정해 줬다. class RcSedan extends RcCarSetting { void setSpeed(int speed) { this.speed = speed; } void setColor(String color) { this.color = color; } } RcSedan 클래스에서 speed와 color의 set 메서드를 만들어줬다. public class RcCar { public .. 2022. 1. 17.
[Java] : 상속을 제한하는 private private 부모 클래스의 필드와 메서드는 서브 클래스에 상속되지만 상속을 원하지 않는 경우에는 private 접근 제한자를 사용해 주면 된다. private로 지정된 필드나 메서드는 자식 클래스로 상속되지 않게 된다. 예시 코드 class RcCarSetting { private String color; int speed; } RcSetting에 color을 private 접근 제한자로 지정하고, speed는 따로 지정을 하지 않았다. class RcSedan extends RcCarSetting { void setSpeed(int speed) { this.speed = speed; } //오류 코드 void setColor(String color) { this.color = color; } } Rc.. 2022. 1. 17.
[Java] : 여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출 여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출 파라미터만 다르면 생성자를 여러 개 만들 수 있다. 이번에는 부모 클래스의 생성자가 여러개 있을 때 호출 순서와 강제로 부모 클래스를 호출하는 supoer() 메소드에 대해 공부한다. 코드 class ToCarSetting { ToCarSetting() { System.out.println("부모 클래스 생성자 호출 (파라미터 없음)"); } ToCarSetting(String str) { System.out.println("부모 클래스 생성자 호출 => " + str); } } 먼저 부모 클래스에서 파라미터 값이 없는 생성자와 파라미터 값이 있는 생성자를 만들어준다. class ToySedan extends ToCarSetting { ToySeda.. 2022. 1. 17.
[Java] : 생성자 상속의 순서 생성자 상속의 순서 부모 클래스와 자식 클래스 상속의 순서는 부모 클래스가 우선 실행이 되고 자식 클래스가 나중에 실행이 된다. 코드 예시 public class Hi { public static void main(String[] args) { // 자식 클래스의 인스턴스 생성 후 실행 JuHyeon juHyeon = new JuHyeon(); } } // 부모 클래스 생성 및 부모 클래스 생성자 Oh 생성 class Oh { Oh() { System.out.println("부모 클래스 : Oh 호출"); } } // 자식 클래스 생성 및 자식 클래스 생성자 JuHyeon 생성 class JuHyeon extends Oh { JuHyeon() { System.out.println("자식 클래스 : JuH.. 2022. 1. 16.
[Java] : 상속 개념과 예시 상속 상속은 기존 클래스가 가지고 있는 필드와 메서드를 그대로 물려받은 새로운 클래스를 만드는 것을 말한다. 필요에 따라 추가로 필드나 메서드를 추가해서 만들어도 된다. 개념 class 샤프 { 필드 : 케이스, 샤프심 메서드 : 심 넣기() 메서드 : 심 뺴기() 메서드 : 지우개로 지우기() } class 볼펜 { 필드 : 케이스, 볼펜심 메서드 : 심 넣기() 메서드 : 심 뺴기() 메서드 : 수정 테이프로 지우기() } 샤프 클래스와 볼펜 클래스가 있다고 가정할 때 필드와 메서드에서 공통적인 부분은 케이스와 심 넣기, 빼기가 있고 다른 점은 필드의 샤프심이냐, 볼펜심이냐와 메서드의 지우개로 지우냐와 수정 테이프로 지우냐가 다르다. class 필기구 { 필드 : 케이스 메서드 : 심 넣기() 메서드.. 2022. 1. 16.
[Java] : 인스턴스 변수와 클래스 변수 인스턴스 변수와 클래스 변수 인스턴스 변수는 인스턴스를 생성을 하고 난 뒤에 사용할 수 있는 변수들을 말한다. class pen { String color; int number; } color과 number 인스턴스 변수는 클래스 안에 존재하지만 실제 공간이 할당되진 않는다. pen pen = new pen(); pen에 대한 인스턴스를 생성했다. 이러면 이제 pen의 color과 number를 지정할 수 있게 되는데 이렇게 되야 인스턴스 변수의 공간이 할당되게 된다. 공부하는 책에서는 이런 과정을 설계도와 결과물로 설명을 하였는데 클래스를 설계도로 보고 있고 인스턴스를 결과물로 보고 있다. pen 클래스에서 변수를 선언했지만 = 설계도를 작성했지만 공간이 할당 되진 않았다. = pen의 실체는 없다. .. 2022. 1. 15.
반응형