Language

[Java] Scanner 클래스를 이용한 입력
·
Language/Java
입력 import java.util.Scanner;java.util.Scanner 를 import 해주고 사용하면 된다.먼저 Scanner 객체를 만들어주고 사용해야 한다.Scanner sc = new Scanner(System.in);System.in 을 생성자에 매개변수로 넣어 표준입력을 사용한다.기본적으로 next 메소드를 이용하여 공백문자 전까지 입력받을 수 있고, nextLine 메소드를 이용하여 줄바꿈 문자, 즉 엔터 전까지 입력받을 수 있다. 이때 입력은 String 으로 반환한다. 단 nextLine 메소드를 이용할 때 직전 입력이 있다면 그 입력의 남은 개행문자를 받아와 입력이 종료될 수 있기 때문에 주의해야 한다.그 외 자료형으로 입력을 받고 싶다면 next 뒤에 자료형을 붙이면 된다...
[R] 다중변수 탐색적 자료 분석(EDA)
·
Language/R
기본적 자료 분석 다중변수는 열이 두 개 이상인 자료를 말한다. 이때 열을 필드, 변수라고도 하고, 따라서 열이 두 개 이상인 자료를 다중변수라고 한다. 보통 매트릭스나 데이터프레임을 활용하여 분석한다.str 함수를 통해 행과 열의 개수, 각 열의 이름과 그 열에 들어있는 자료의 자료형, 대략적인 자료 내용을 확인할 수 있다.str(data_name)iris 데이터를 확인해본다면 아래와 같이 나온다.'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.L..
[R] 단일변수 탐색적 자료 분석(EDA)
·
Language/R
기본적 자료 분석 기본적으로 확인할 것은 데이터의 자료형(data type)이다. 이는 보통 class 혹은 mode 함수로 확인한다. class 는 데이터 자체의 자료형을 반환하고, mode 는 데이터 내부의 자료형을 반환한다. 예를 들어 어떤 매트릭스 변수에 숫자 데이터가 들어있다면, class 를 통해서 변수를 확인할 때는 matrix 와 array 를 반환하지만, mode 를 통해서 확인하면 numeric 을 반환한다. 단, 벡터 변수의 경우 class 로 확인해도 vector 를 반환하는 것이 아니라 내부 데이터 자료형을 반환한다. 범주형 자료 질적 자료(참고 링크)라고도 불린다. 기본적으로 누적 도수(참고 링크)를 통해 비율을 구한 후 이 비율을 분석한다. 아래와 같은 기본적인 데이터를 가정하..
[R] which 를 이용한 데이터 위치 확인
·
Language/R
which 조건문을 통한 인덱싱(링크)으로 벡터에서 조건을 만족하는 데이터에 대해서는 TRUE 로, 조건을 만족하지 않는 데이터에 대해서는 FALSE 로 변환하여 새로운 벡터를 만들어내고, 이를 통해 다시 조건을 만족하는 값을 벡터에서 뽑아낼 수 있었다.which 함수를 이용해서도 비슷한 일을 할 수 있다. which 함수는 해당 데이터 셋에서 조건에 맞는 인덱스를 반환해주는 함수이다. 기본 문법은 아래와 같다.which(data_and_condition)예를 들어서 1 부터 10 까지 아래와 같이 무작위로 있는 벡터에서 5 이상인 값의 인덱스만 알고 싶다면 아래와 같이 which 를 사용할 수 있다.data = 5)벡터가 아니라 매트릭스나 데이터프레임에 적용하여 조건에 만족하는 행의 인덱스를 추출할 수..
[R] for 와 while 을 통한 반복문 및 apply
·
Language/R
for 문 for 문은 특정 범위를 지정하여 실행하는 반복문이다. 기본 문법은 아래와 같다.for (item in range) { ...}range 에는 벡터, 매트릭스, 배열, 리스트 등을 넣을 수 있다. 벡터, 매트릭스, 배열을 넣으면 각 값이 순차적으로, 즉 1열 1행부터 1열 2행 순으로 item 에 대입된다. 데이터프레임은 열 전체가, 리스트도 데이터 전체가 순차적으로 대입된다.모든 데이터가 대입된 후 하위 코드, 즉 {} 안에 있는 코드가 모두 실행되었다면 종료된다. while 문  while 문은 특정 조건을 지정하여 실행하는 반복문이다. 기본 문법은 아래와 같다.while (condition) { ...}condition 이 TRUE 이면 while 문 하위 코드, 즉 {} 안에..
[C++] 연산자 오버로딩(operator overloading)
·
Language/C & C++
연산자 C++ 에서 연산자는 다양한 자료형에 대응하여 연산을 진행한다. 예를들어 int 형과 int 형을 더하면 각 숫자를 더하여 반환하고, 문자열과 문자열을 더하면 각 문자열을 이어서 반환한다. 기본 자료형이 아니라 클래스에 대해서도 다른 연산을 진행하는 경우가 있다. 예를 들어 std::cout 은 연산자 오버로딩은 클래스 내부에서 정의되어 위 예시처럼 사용될 수도 있고, 전역에서 정의되어 사용할 수도 있다. 그러나 전역에서 사용되려면 friend 를 알아야 제대로 사용할 수 있다. 클래스 내 연산자 오버로딩 연산자 오버로딩은 클래스 내에서 진행된다. 선언하는 문법은 다음과 같다.return_datatype operator operator_name(parameter);operator_name 에 연산..
[C++] 프렌드(friend)를 통한 클래스 멤버 접근
·
Language/C & C++
멤버 접근 접근 지정자(참고 링크)를 통해 클래스 내의 멤버에 대해서 접근을 금지하거나 허용할 수 있었는데, private 나 protect 로 설정되어 접근이 막힌 클래스 멤버에 대해 클래스의 멤버 함수가 아니라 다른 함수에서 접근이 필요할 수 있다. 특히 서로 다른 클래스에 대한 연산을 함수로 구현한다면, 이때 사용되는 클래스들의 멤버 변수 접근이 막혀있는데, 접근이 필요할 수 있다. 멤버 변수 접근을 public 으로 풀어버릴 수도 있지만, 이 경우 클래스의 은닉성을 깨는 것이기 때문에 권장되지 않는다. 이때 사용하는 것이 friend 이다.클래스 내에서 friend 를 이용하여 접근을 허용해주어 클래스에서 접근이 금지되었던 멤버에 접근할 수 있게 한다. 이때 전역변수, 다른 클래스의 멤버 함수, ..
[R] 데이터 파일과 사용자 정의 함수 및 변수 불러오기
·
Language/R
경로 설정 setwd 함수를 이용해서 작업 디렉토리의 경로를 설정할 수 있다.예를 들어서 C:\Users\name\Desktop 에 있는 파일을 가져오고 싶다면 다음과 같이 경로를 설정해줄 수 있다.setwd("C:/Users/name/Desktop")만약 경로 설정을 안하고자 한다면, 그냥 파일 이름으로 경로 설정을 하면 된다. 파일 읽기 및 저장 기본적으로 R 에서는 csv, txt, R 정도의 파일을 읽어올 수 있다. 그 외 파일에 대해서는 추가로 패키지를 설치하여야 한다. csv 파일파일이 csv 파일이라면 read.csv 함수를 이용하면 된다.경로가 제대로 설정되어 있고, 해당 작업 디렉토리에 temp.csv 파일이 있다면 다음과 같이 읽어와 변수에 저장할 수 있다. 이때 csv 로 읽으면 기본..
[R] 다양한 자료형(data type)과 인덱싱(indexing)
·
Language/R
단순 데이터 형식 R 에서 데이터 형식은 크게 숫자, 문자, 논리로 나뉜다.데이터 형식예시숫자numeric정수, 실수1, 2, 3, -1, 1.45, -24.8문자character문자나 문자열 (따옴표로 감싸짐)"korea", "10", "안녕"논리logical참과 거짓TRUE, FALSE (T, F도 사용 가능)특수한 경우NULL정의되어 있지 않은 값자료형도 없고 길이도 0NA결측값NaN정의가 불가능한 값sqrt(-5)Inf, -Inf양의 무한대와 음의 무한대우선순위가 있는데 특수한 경우를 제외하면 문자형 > 숫자형 > 논리형 순이다. 이는 벡터를 다룰 때 중요하다. 변수 데이터들은 이러한 단순 데이터 형식을 포함하여 다양한 데이터 형식을 이용해 변수에 저장할 수 있다.대입연산자인 x 변수의 이름은 영..
[C/C++] 헤더파일 분할 작성과 헤더파일 중복 선언 방지
·
Language/C & C++
헤더파일 분할 작성 C 나 C++ 에서나 동일하게 작동하나 클래스를 활용하는 C++ 중심으로 설명하겠다.클래스나 함수 등을 선언부, 구현부로 나누고, 이 파일을 분리해서 작성하면 재사용이 가능하다는 장점이 있다. 선언부는 헤더파일(.h)로 작성하고, 구현부는 cpp 파일로 작성하며, main 함수와 전역 함수, 변수 등은 또 다른 cpp 파일에 작성해 컴파일하면서 병합하는 것이다.예를 들어 계산기 클래스를 만들고, 이를 실행하는 프로그램을 구현한다면, 다음과 같이 파일을 나누어서 작성할 수 있다.// Calculator.hclass Calculator{public: int add(int a, int b); int sub(int a, int b); int mul(int a, int b); ..
애스터로이드
'Language' 카테고리의 글 목록 (3 Page)