Top 17 R 문법 Trust The Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me r 문법 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: r 문법 R 문법 정리, R 기본 문법, r언어 설치, R에서, r언어 프로그램, R 언어 예제, r언어란, R 사용법


[클룸 강좌 맛보기] R 기본 문법 알아보기
[클룸 강좌 맛보기] R 기본 문법 알아보기


1. R 기본 문법 – Must Learning with R

  • Article author: wikidocs.net
  • Reviews from users: 37495 ⭐ Ratings
  • Top rated: 3.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 1. R 기본 문법 – Must Learning with R 시작하기에 앞서, 기본적으로 알아야되는 R 기본 코드들을 다루도록 하겠습니다. 1단계는 기초 문법에 대해 다룹니다. 2단계는 직접 데이터를 다운 받아, … …
  • Most searched keywords: Whether you are looking for 1. R 기본 문법 – Must Learning with R 시작하기에 앞서, 기본적으로 알아야되는 R 기본 코드들을 다루도록 하겠습니다. 1단계는 기초 문법에 대해 다룹니다. 2단계는 직접 데이터를 다운 받아, … 온라인 책을 제작 공유하는 플랫폼 서비스
  • Table of Contents:
1. R 기본 문법  - Must Learning with R
1. R 기본 문법 – Must Learning with R

Read More

10분 만에 살펴보는 R 기초문법 – Epiloum 개발노트

  • Article author: dev.epiloum.net
  • Reviews from users: 43195 ⭐ Ratings
  • Top rated: 4.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 10분 만에 살펴보는 R 기초문법 – Epiloum 개발노트 R은 통계적인 계산과 데이터 분석에 특화되어 있는 프로그래밍 언어입니다. 빅데이터의 대두와 함께 주목받아 그 이름이 널리 알려지게 되었지요. …
  • Most searched keywords: Whether you are looking for 10분 만에 살펴보는 R 기초문법 – Epiloum 개발노트 R은 통계적인 계산과 데이터 분석에 특화되어 있는 프로그래밍 언어입니다. 빅데이터의 대두와 함께 주목받아 그 이름이 널리 알려지게 되었지요.
  • Table of Contents:

R을 설치하고 실행해보기

주요 문법들

마치며

Post navigation

16 thoughts on “10분 만에 살펴보는 R 기초문법”

10분 만에 살펴보는 R 기초문법 – Epiloum 개발노트
10분 만에 살펴보는 R 기초문법 – Epiloum 개발노트

Read More

R 프로그래밍 기본 문법 정리 — baealex

  • Article author: blex.me
  • Reviews from users: 32068 ⭐ Ratings
  • Top rated: 4.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about R 프로그래밍 기본 문법 정리 — baealex 잠시동안 배운 R 어쩌다 R 프로그래밍 언어를 배울 기회가 있었는데, 새로운 언어를 익히는 건 재미있었지만 너무 수학적인 언어라 다시 쓸일이 … …
  • Most searched keywords: Whether you are looking for R 프로그래밍 기본 문법 정리 — baealex 잠시동안 배운 R 어쩌다 R 프로그래밍 언어를 배울 기회가 있었는데, 새로운 언어를 익히는 건 재미있었지만 너무 수학적인 언어라 다시 쓸일이 … 잠시동안 배운 R 어쩌다 R 프로그래밍 언어를 배울 기회가 있었는데, 새로운 언어를 익히는 건 재미있었지만 너무 수학적인 언어라 다시 쓸일이 있을까 싶은 생각이 든다. 여하간 …프로그래밍
  • Table of Contents:
R 프로그래밍 기본 문법 정리 — baealex
R 프로그래밍 기본 문법 정리 — baealex

Read More

1.6 R 기초 문법 | 통계 프로그래밍 언어

  • Article author: zorba78.github.io
  • Reviews from users: 31714 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 1.6 R 기초 문법 | 통계 프로그래밍 언어 본 절에서 다루는 R 문법은 R 입문 시 객체(object)의 명명 규칙과 R 콘솔 창에서 가장 빈번하게 사용되는 기초적인 명령어만 다룰 예정임. 자세한 내용은 2-3주 차에 다룰 … …
  • Most searched keywords: Whether you are looking for 1.6 R 기초 문법 | 통계 프로그래밍 언어 본 절에서 다루는 R 문법은 R 입문 시 객체(object)의 명명 규칙과 R 콘솔 창에서 가장 빈번하게 사용되는 기초적인 명령어만 다룰 예정임. 자세한 내용은 2-3주 차에 다룰 … 2022년도 1학기 정보통계학과 통계 프로그래밍 언어 강의 노트로 해당 노트: https://zorba78.github.io/cnu-r-programming-lecture-note/
  • Table of Contents:
1.6 R 기초 문법 | 통계 프로그래밍 언어
1.6 R 기초 문법 | 통계 프로그래밍 언어

Read More

2. R 기본문법 1단계

  • Article author: mustlearning.tistory.com
  • Reviews from users: 16059 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 2. R 기본문법 1단계 Chapter2. R 기본문법 1단계 · 1. 할당 및 논리문 · 2. c()의 활용 · 3. rep(), sep()을 통한 벡터 생성 · 4. matrix(), data.frame()을 통해 데이터 셋 … …
  • Most searched keywords: Whether you are looking for 2. R 기본문법 1단계 Chapter2. R 기본문법 1단계 · 1. 할당 및 논리문 · 2. c()의 활용 · 3. rep(), sep()을 통한 벡터 생성 · 4. matrix(), data.frame()을 통해 데이터 셋 … Chapter2. R 기본문법 1단계 기본적으로 Rstudio 편집기를 기준으로 진행합니다. Rstudio를 시작하기에 앞서, 몇 가지 중요한 Tip을 드리자면 다음과 같습니다. 처음 시작하는 분들이 가장 많이 틀리는 부분은 오..
  • Table of Contents:

Must Learning With Statistics

2 R 기본문법 1단계 본문

Chapter2 R 기본문법 1단계

티스토리툴바

2. R 기본문법 1단계
2. R 기본문법 1단계

Read More

R 학습정리 – R 문법 기초(1)

  • Article author: avarietyofthings.tistory.com
  • Reviews from users: 49544 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about R 학습정리 – R 문법 기초(1) R 학습정리 – R 문법 기초(1). 가지_hi 2021. 12. 31. 19:20. 목차. 1. R 기본 개요. 2. 변수. 3. 벡터. 4. 벡터연산, 함수, 논리값. + 챕터별 과제 … …
  • Most searched keywords: Whether you are looking for R 학습정리 – R 문법 기초(1) R 학습정리 – R 문법 기초(1). 가지_hi 2021. 12. 31. 19:20. 목차. 1. R 기본 개요. 2. 변수. 3. 벡터. 4. 벡터연산, 함수, 논리값. + 챕터별 과제 … 목차 1. R 기본 개요 2. 변수 3. 벡터 4. 벡터연산, 함수, 논리값 + 챕터별 과제 1. R 기본 개요 1-1. R 언어의 특징 :  1, 2차원 데이터 대상 자료분석, 통계 작업에 특화 (이에 필요한 대부분의 기능을 함..
  • Table of Contents:

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

R 학습정리 - R 문법 기초(1)
R 학습정리 – R 문법 기초(1)

Read More

[R프로그래밍] 기본 연산, 기본 문법

  • Article author: thestoryofcosmetics.tistory.com
  • Reviews from users: 1065 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [R프로그래밍] 기본 연산, 기본 문법 이번 포스팅에서는 R의 사칙연산과 그 외의 여러 계산들, 그리고 R의 기초문법이라고 할 수 있는 몇 가지에 대해 다루어 보겠습니다. …
  • Most searched keywords: Whether you are looking for [R프로그래밍] 기본 연산, 기본 문법 이번 포스팅에서는 R의 사칙연산과 그 외의 여러 계산들, 그리고 R의 기초문법이라고 할 수 있는 몇 가지에 대해 다루어 보겠습니다. 안녕하세요 여러분! 오늘부터 R과 파이썬에 관한 포스팅을 차차 진행해보려고 합니다! 요즘 초등학생들도 코딩학원을 다닌다는 소리가 들려올 만큼 프로그래밍에 대한 중요성이 커졌는데요! 여러 프로그래밍 언어..
  • Table of Contents:

‘Data analysis story’ Related Articles

공지사항

최근 포스트

태그

검색

전체 방문자

[R프로그래밍] 기본 연산, 기본 문법
[R프로그래밍] 기본 연산, 기본 문법

Read More

R 기초 문법

  • Article author: rstudio-pubs-static.s3.amazonaws.com
  • Reviews from users: 26810 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about R 기초 문법 R 기초 문법. 건국대학교 통계학과 백광렬 – 2018 빅데이터 청년인재. 2018 7 3 (1,2일차). 1.R기초. 1.1 주석과 도움말; 1.2 패키지 설치; 1.3 기본 연산자 … …
  • Most searched keywords: Whether you are looking for R 기초 문법 R 기초 문법. 건국대학교 통계학과 백광렬 – 2018 빅데이터 청년인재. 2018 7 3 (1,2일차). 1.R기초. 1.1 주석과 도움말; 1.2 패키지 설치; 1.3 기본 연산자 …
  • Table of Contents:

1R기초

2 데이터 구조

3 조건문

R 기초 문법
R 기초 문법

Read More

Do it! 쉽게 배우는 R 데이터 분석 – 김영우 – Google Sách

  • Article author: books.google.com.vn
  • Reviews from users: 38486 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Do it! 쉽게 배우는 R 데이터 분석 – 김영우 – Google Sách Updating …
  • Most searched keywords: Whether you are looking for Do it! 쉽게 배우는 R 데이터 분석 – 김영우 – Google Sách Updating ?※ 이 책은 PDF 북이므로 화면이 작은 단말기(스마트폰)에서는 보기 불편합니다. ※통계, 프로그래밍을 1도 몰라도 데이터를 혼자서 다룰 수 있다!?데이터 분석 프로젝트 전 과정 수록!?데이터 분석을 처음 시작한 초보자도 어깨춤을 추며 데이터를 혼자 다룰 수 있게 한다는 강의가 책으로 출간되었다. 통계, 프로그래밍, 데이터 분석을 전혀 몰라도 「Do it! 쉽게 배우는 R 데이터 분석」을 통해 R로 최근 주목받고 있는 데이터 분석 기법들을 재미있게 배울 수 있다. 이 책은 데이터 정제, 가공, 분석부터 그래프 그리기까지 실제 현업에서 데이터 분석 프로젝트를 할 때와 같은 모든 과정을 직접 해볼 수 있다. 쉬운 예제부터 차근차근 실습을 하다 보면 어렵게 느껴졌던 R 코드에 익숙해지고, 끝에 가서는 자신만의 훌륭한 데이터 분석 프로젝트를 완수하게 된다!?
  • Table of Contents:
Do it! 쉽게 배우는 R 데이터 분석 - 김영우 - Google Sách
Do it! 쉽게 배우는 R 데이터 분석 – 김영우 – Google Sách

Read More

엑셀, R, 파이썬으로 시작하는 데이터 분석: 데이터 분석의 기본 개념과 3가지 핵 … – 조지 마운트 – Google Sách

  • Article author: books.google.com.vn
  • Reviews from users: 28865 ⭐ Ratings
  • Top rated: 3.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 엑셀, R, 파이썬으로 시작하는 데이터 분석: 데이터 분석의 기본 개념과 3가지 핵 … – 조지 마운트 – Google Sách Updating …
  • Most searched keywords: Whether you are looking for 엑셀, R, 파이썬으로 시작하는 데이터 분석: 데이터 분석의 기본 개념과 3가지 핵 … – 조지 마운트 – Google Sách Updating 스프레드시트부터 프로그래밍 언어까지 3가지 도구로 배우는 실전 데이터 분석 가이드 이 책은 기본적인 데이터 분석과 데이터 분석 스택을 확실히 이해할 수 있는 개념서입니다. 엑셀뿐 아니라 프로그래밍 언어인 R과 파이썬을 사용하여 탐색적 데이터 분석 및 가설검정 방법을 익힐 수 있도록 안내합니다. 엑셀에 익숙하다면 자연스럽게 프로그래밍의 세계에 입문하고, 프로그래밍 언어에 익숙하다면 데이터 분석의 개념과 구현 방법을 살펴볼 기회를 얻을 수 있습니다. 스프레드시트로 주요 통계 개념을 익히고, 데이터 조작의 개념을 R과 파이썬 프로그래밍에 적용하며, 책에서 소개하는 도구와 프레임워크를 고급 데이터 분석 기술에 활용해볼 수 있습니다.필수 개념과 다양한 도구 활용법을 한 권에 담은 데이터 분석 입문자 필독서! 다양한 데이터 분석 도구와 관련 도서를 접하기는 쉬워졌지만, 무엇을 먼저 공부해야 할지 몰라 입문자가 데이터 분석을 시작하는 것은 여전히 어렵습니다. 이 책은 프로그래밍을 모르는 사람도 데이터 분석을 시작할 수 있도록 안내합니다. 먼저 가장 직관적이고 효율적인 엑셀을 사용하여 탐색적 데이터 분석, 확률, 회귀 분석과 같은 통계 개념을 알기 쉽게 설명합니다. 그리고 R과 파이썬을 사용하여 앞에서 배운 개념을 실습합니다. 엑셀, R과 파이썬은 상호 보완적인 데이터 분석 도구입니다. 예를 들어 파이썬을 사용하여 엑셀 기반 리포트 생성을 자동화하거나 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 비즈니스 인텔리전스(BI) 플랫폼의 대시보드로 가져올 수 있습니다. 따라서 데이터 분석에 필요한 기본 개념과 3가지 핵심 도구 사용법을 알면 더욱 강력한 고급 분석을 수행할 수 있으며, 각 데이터 분석 스택에 맞는 도구를 선택하여 적절한 분석을 수행하는 능력을 기를 수 있습니다. 이 책 한 권으로 손쉽게 데이터 분석 공부를 시작해보세요!  주요 내용 ● 엑셀로 배우는 데이터 분석 기초  ○ 탐색적 데이터 분석  ○ 확률  ○ 통계적 추론  ○ 상관 분석과 회귀 분석● R을 사용한 데이터 분석● 파이썬을 사용한 데이터 분석  추천사 어떻게 데이터 분석을 시작해야 할지 모르겠나요? 프로그래밍에 익숙해야 시작할 수 있을 것만 같으신가요? 데이터 분석을 시작하는 모든 사람에게 이 책을 추천드립니다. 익숙한 도구인 엑셀을 사용하여 데이터 분석의 기초 개념을 학습하고 이러한 개념을 프로그래밍 언어로 실습해보면서 데이터 분석과 친해질 수 있는 책입니다. 데이터 분석 분야의 실무자가 번역하여 어색함 없이 쉽게 읽히는 점이 큰 장점인 입문서입니다._정미래(삼성리서치 Data Research팀 연구원) 오늘날 데이터 분석 도구가 다양해지고 관련 내용을 접하기는 쉬워졌지만 데이터 분석을 시작하려는 초보자가 이를 공부하기는 쉽지 않습니다. 이 책은 프로그래밍을 모르는 독자도 친숙한 엑셀로 데이터 분석에 필수적인 통계 이론을 배울 수 있습니다. 그리고 R과 파이썬을 사용하여 데이터를 스스로 분석할 수 있도록 돕습니다. 데이터에서 무궁무진한 인사이트를 발굴하고 싶은 독자에게 소중한 첫걸음이 되어줄 것입니다._박예원(네이버 ML 엔지니어) 수많은 기업과 프로젝트에서 통계 모델 및 AI/ML의 활용은 필수 요소가 되고 있습니다. 현업 연구자와 엔지니어가 연구 개발 과정에서 가장 많은 시간을 들이는 작업은 바로 데이터 분석입니다. 이 책은 데이터 분석 실무자가 애정하는 엑셀, R 그리고 파이썬을 모두 아우르고 있습니다. 도구를 다루는 것에 그치지 않고, 기초적인 확률 이론과 가설 검증 과정 같은 중요한 개념도 쉽게 익힐 수 있도록 돕습니다. 실무에서 해결하고자 하는 많은 문제의 답은 결국 '데이터'에 있습니다. 이 책은 데이터에서 답을 찾고자 하는 이들에게 좋은 가이드북이 될 것입니다._제상현(카카오엔터프라이즈 ML 리서치 엔지니어) 엑셀 활용부터 데이터 과학 이론과 분석까지 필요한 모든 내용을 담았습니다._조던 골드마이어(마이크로소프트 엑셀 MVP) 비즈니스와 데이터 분석 입문자를 위한 필독서_에이든 존슨(Breakthrough Data Science 데이터 과학자 겸 멘토)
  • Table of Contents:
엑셀, R, 파이썬으로 시작하는 데이터 분석: 데이터 분석의 기본 개념과 3가지 핵 ... - 조지 마운트 - Google Sách
엑셀, R, 파이썬으로 시작하는 데이터 분석: 데이터 분석의 기본 개념과 3가지 핵 … – 조지 마운트 – Google Sách

Read More


See more articles in the same category here: Chewathai27.com/to/blog.

R 프로그래밍 기본 문법 정리 — baealex

잠시동안 배운 R

어쩌다 R 프로그래밍 언어를 배울 기회가 있었는데, 새로운 언어를 익히는 건 재미있었지만 너무 수학적인 언어라 다시 쓸일이 있을까 싶은 생각이 든다. 여하간 이번에 배운 R 프로그래밍 기본 문법을 블로그에 정리해 둘 생각이다.

1. 변수의 이름

변수의 이름에는 . _ 등이 올 수 있다. . 은 먼저 사용할 수 있지만 _ 는 먼저올 수 없다.

a… = 0 (o) a___ = 0 (o) .a = 0 (o) _a = 0 (x)

2. 대입 연산자

C언어에서는 변수에 값을 넣는 대입연산자로 = 을 사용한다. R에서도 = 을 사용하지만 추가적으로 <- 도 사용할 수 있다. a = 1 b <- 1 3. 문자열 문자열은 파이썬과 문법이 매우 흡사하다. 따옴표는 작은따옴표 큰따옴표 구분하여 사용하지 않고 짝만 맞추면 된다. a <- 'Hello World' a <- "Hello World" a <- "He said 'Hello World'" 4. 불리언 불리언 값은 TRUE 또는 T , FALSE 또는 F 로 표시된다. 불리언 값과 같이 쓰이는 특수문자는 &(AND), |(OR), !(NOT) 등등이 있다. > T & F [1] FALSE > T | F [1] TRUE > !TRUE [1] FALSE

5. 벡터

R 프로그래밍에선 변수(?)는 스칼라, 배열(?)은 벡터로 불리운다. c() 함수를 통해서 스칼라값을 벡터로 묶을 수 있다.

> a = c(1,2,3) [1] 1 2 3 > a = c(1,2,3,c(4,5,6)) [1] 1 2 3 4 5 6 > a = c(c(1,2,3),c(4,5,6)) [1] 1 2 3 4 5 6

벡터에 접근하는 방법은 벡터의 인덱스를 불러오는 것이다. 대부분의 프로그래밍 언어는 배열의 시작이 [0]부터지만 R 에서는 [1]부터 시작이다.

> a[1] [1] 1 > a[c(1,3)] [1] 1 3

6. 펙터

변주형 변수, 카테고리를 지정할 수 있는 요소다. 이것은 데이터 프레임을 다룰때 주로 사용되었다.

> sex <- factor(c("M","F")) > levels(sex) [1] “F” “M” > print(sex) [1] M F Levels: F M

7. 벡터의 길이

벡터의 길이를 파악하는 함수는 nrow , NROW , length 가 있다. nrow 함수는 행렬의 길이만 알아낼 수 있다. 나머지 두개는 벡터도 가능.

> x <- c("a","b","c") > length(x) [1] 3 > nrow(x) NULL > NROW(x) [1] 3

8-1. 조건 연산

스칼라 혹은 벡터에 대한 조건의 결과를 얻는 방법이다.

> x <- c(11,12,13,14,19,20) > x > 15 [1] FALSE FALSE FALSE FALSE TRUE TRUE

벡터 x의 값과 15를 비교하여 하나의 벡터값이 만들어졌다. 이 벡터를 x의 인덱스 값으로 넣으면

> x[x>15] [1] 19 20

벡터 x의 값에서 15보다 큰 값을 추출할 수 있다.

> which(x>15) [1] 5 6 > which(x==9) integer(0)

which 함수를 사용하면 조건을 충족하는 값의 위치를 알아낼 수 있다.

> x[which(x>15)] [1] 19 20 > x[x>15] [1] 19 20

이 처럼 같은 결과를 출력한다.

8-2. 조건 연산

벡터에서 같은 문자값이 있는지 확인하는 방법은 다음과 같다.

> “a” %in% c(“a”,”b”,”c”) [1] TRUE > “d” %in% c(“a”,”b”,”c”) [1] FALSE

9. 시퀀스

1부터 100까지 들어간 혹은 규칙있는 벡터값을 생성하기 위해선 시퀀스라는 함수를 사용한다.

> seq(1,5) [1] 1 2 3 4 5 > seq(1,5,2) [1] 1 3 5 > seq(0,100,5) [1] 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 [20] 95 100

이처럼 작성되며 seq(시작 값, 종료 값, 순서) 로 표현한다.

> rep(1:2,5) [1] 1 2 1 2 1 2 1 2 1 2 > rep(1:2,each=5) [1] 1 1 1 1 1 2 2 2 2 2

rep 함수를 사용하면 시퀀스 함수와는 약간 다른 모양의 벡터 생성이 가능하다.

10. 행렬

행렬은 행의 갯수를 선택하여 생성하거나 열의 갯수를 선택하여 생성할 수 있다. 말로 쓰기 어려우니 다음 코드를 보자.

> matrix(c(0,1,2,3,4,5,6,7,8,9),nrow=2) [,1] [,2] [,3] [,4] [,5] [1,] 0 2 4 6 8 [2,] 1 3 5 7 9 > matrix(c(0,1,2,3,4,5,6,7,8,9),ncol=2) [,1] [,2] [1,] 0 5 [2,] 1 6 [3,] 2 7 [4,] 3 8 [5,] 4 9

이처럼 같은 값으로 만든 행렬이지만 행이 2개냐 열이 2개냐의 차이로 모양이 확연히 달라졌다.

[,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > matrix(c(1,2,3,4,5,6,7,8,9),ncol=3, byrow=T) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9

또 기본은 세로(열) 우선으로 값이 채워져 나가지만 byrow 을 통해서 가로(행) 우선으로 값을 채울 수 있다.

> our.mat <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,dimnames = list(c("item1","item2","item3"),c("feature1","feature2","feature3"))) > our.mat feature1 feature2 feature3 item1 1 4 7 item2 2 5 8 item3 3 6 9

위와같이 각행렬의 이름을 지정해 줄 수도 있다.

행렬에 접근하는 방법은 벡터와 유사하며 2차원 배열에 접근하듯 하면된다. our.mat에 접근해 보도록 하자.

# our.mat[row,col] > our.mat[1,] feature1 feature2 feature3 1 4 7 > our.mat[1,c(1,2)] feature1 feature2 1 4 > our.mat[!our.mat[,1]==2,] feature1 feature2 feature3 item1 1 4 7 item3 3 6 9 > our.mat[“item1”,] feature1 feature2 feature3 1 4 7

our.mat[!our.map[,1]==2], 의 경우 1열이 2가 아닌 행을 뽑아내므로 결과는 1,3행이 출력된다. 또한 our.mat[“item1”,] 처럼 행과 열의 이름으로 행열을 뽑아내는 것도 가능하다.

이번엔 행렬의 연산을 해보자.

> our.mat*our.mat feature1 feature2 feature3 item1 1 16 49 item2 4 25 64 item3 9 36 81 > our.mat%*%our.mat feature1 feature2 feature3 item1 30 66 102 item2 36 81 126 item3 42 96 150

기본적인 * 로 곱셈 연산을 실시하면 쓸데없이(?) 행렬의 각각의 자리에서 곱셈이 일어난다. 우리가 알고있는 일반적인 행렬의 곱셈을 실시하기 위해선 our.mat%*%our.mat 와 같이 작성해야 한다.

11. 데이터 프레임

R 프로그래밍에서 가장 중요한 데이터로 사용된다고 한다. 행렬은 숫자의 집합체임에 비해 데이터 프레임은 벡터, 펙터 등등이 모두 합쳐질 수 있기 때문인듯 하다.

> x=c(1,2,3,4,5) > y=c(2,4,6,8,10) > z=c(‘M’,’F’,’M’,’F’,’M’) > our.dataFrame <- data.frame(x,y,z) colnames(our.dataFrame) <- c("number", "age", "gender") rownames(our.dataFrame) <- c("a","b","c","d","e") 데이터 프레임의 생성은 위와같이 이루어지며 데이터 프레임의 구조를 확인하는 방법은 다음과 같다. > str(our.dataFrame) # ‘data.frame’: 5 obs. of 3 variables: $ x: num 1 2 3 4 5 $ y: num 2 4 6 8 10 $ z: Factor w/ 2 levels “F”,”M”: 2 1 2 1 2 > head(our.dataFrame) x y z 1 1 2 M 2 2 4 F 3 3 6 M 4 4 8 F 5 5 10 M > View(our.dataFrame)

데이터 프레임의 접근 방법은 행렬과 비슷하지만 $ 특수문자를 통해서 벡터의 이름으로 열에 접근이 가능하다.

> our.dataFrame[1,] x y z 1 1 2 M > our.dataFrame$z [1] M F M F M Levels: F M > our.dataFrame[our.dataFrame$z==”F”,] x y z 2 2 4 F 4 4 8 F

12. 합, 평균

R 프로그래밍에선 벡터의 합과 평균값을 구해주는 함수가 존재한다.

> sum(c(1,2,3)) [1] 6 > sum(c(1,2,3,NA)) [1] NA > sum(c(1,2,3,NA),na.rm=T) [1] 6 > mean(c(1,2,3)) [1] 2 > mean(c(1,2,3,NA),na.rm=T) [1] 2

결측치(NA)가 있는 경우 원활한 계산이 불가하므로 na.rm 으로 결측치를 모두 제거해야 한다.

13. 조건문

조건문을 작성하는 방법은 C언어와 아주 유사하다.

x <- 1 if(x>3) { print(“TRUE”) } else { print(“FALSE”) }

하지만 유의해야 할 점은 if문의 닫히는 중괄호 바로 옆에 else가 (이어지도록)와야한다. 한줄씩 코드가 실행되서 그런것 같다.

14. 반복문

마지막으로 반복문은 for , while 이 존재하며 문법은 자바스크립트 ES6 스럽다.

# [ FOR ] for(i in 1:10) { print(i) } # [ WHILE ] i <- 0 while(i<10) { print(i) i <- i+1 } R 프로그래밍에선 딱히 반복문을 사용할 일이 적었다. 단기간으로 배워서 그런지도 모르겠다. 유일하게 사용했던 이유는 벡터값을 전부 뒤집기 위해서였다.

2. R 기본문법 1단계

Chapter2. R 기본문법 1단계

기본적으로 Rstudio 편집기를 기준으로 진행합니다. Rstudio를 시작하기에 앞서, 몇 가지 중요한 Tip을 드리자면 다음과 같습니다.

처음 시작하는 분들이 가장 많이 틀리는 부분은 오타 입니다.

소,대문자를 구분하기 때문에 오타가 특히 많이 발생합니다.

특히 ‘No such file or directory’ 라는 Error가 발생한다면 오타가 발생하거나, 저장을 안한 것이니 코드를 다시 한번 확인하시길 바랍니다.

작성하다가 Tab키를 누르면, 자동완성창이 뜹니다. 적극 활용하시길 바랍니다.

우측 상단의 Environment창에서 데이터가 잘 불러와지고 저장되고 있는지 꾸준히 확인하면서 진행하면, 오류 발생을 줄일 수가 있습니다.

Rstudio는 한글에 친화적이지 않으니 최대한 영어를 사용하시길 바랍니다.

1. 할당 및 논리문

할당

지정해주는 명칭(저장소)에 값을 저장해주는 매우 기본적인 컴퓨터 언어입니다. > = : ~를 ~에 저장하여라

A = 2

print(A)

[1] 2

실행결과, A에 2가 저장되었으며, 출력하면 2가 나오는 것을 확인할 수 있습니다.

논리문

값이 지정해준 조건을 만족하는지 값을 출력해주는 기본적인 컴퓨터 언어입니다. ‘TRUE’ 혹은 ’FALSE’값을 출력해줍니다. ’TRUE’는 조건을 충족한다는 의미이며, ’FALSE’는 그 반대입니다.

> == : 인지 판단하여라

A == 2

[1] TRUE

!= : 아닌지 판단하여라.

A != 2

[1] FALSE

2. c()의 활용

벡터의 생성

c()는 Combind의 약자를 나타내는 명령어로, R에서 매우 자주 쓰이는 명령어입니다. c()는 벡터를 만드는데 사용됩니다. 여기서 벡터라고 하면, 데이터에서 하나의 ’열(Column)’을 의미합니다. 즉, 데이터가 세로로 저장된다고 생각하시면 됩니다.

c() : 벡터의 생성

B = c(2,3,4,5)

print(B)

[1] 2 3 4 5

3. rep(), sep()을 통한 벡터 생성

순차적인 수열 생성 sequence의 줄임말로 순차적인 데이터를 생성할 때 쓰입니다.

seq() : seq(from = 시작 숫자 , to = 마지막 숫자, by = 증가범위)

# 1 ~ 10 까지 1씩 증가하는 수열 생성 x1 = c(1:10) x1_2 = seq(from = 1, to = 10,by = 1) # 1 ~ 10까지 2씩 증가하는 수열 생성 x2 = seq(from = 1, to = 10,by = 2)

print(x1)

[1] 1 2 3 4 5 6 7 8 9 10

print(x1_2)

[1] 1 2 3 4 5 6 7 8 9 10

print(x2)

[1] 1 3 5 7 9

반복적인 수열 생성 rep()는 repeat의 줄임말로 반복된 데이터를 생성할 때 쓰입니다.

rep() : rep(반복할 값, 반복할 횟수)

# 1을 10번 반복 y = rep(1,10)

print(y)

[1] 1 1 1 1 1 1 1 1 1 1

y2 = rep(c(1,10), 2)

print(y2)

[1] 1 10 1 10

y3 = rep(c(1,10), c(2,2))

print(y3)

[1] 1 1 10 10

4. matrix(), data.frame()을 통해 데이터 셋 만들기

matrix의 생성

R에서는 일반적으로 데이터 셋을 matrix형태 혹은 data.frame형태로 정리한 후, 분석을 진행하는 경우가 많습니다.

matrix(data = 데이터 , nrow = 행의 수, ncol = 열의 수, byrow = 행/열 기준)

MATRIX_R = matrix( data = x1, nrow = 5 )

print(MATRIX_R)

[,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10

MATRIX_C = matrix( data = x1, ncol = 5 )

print(MATRIX_C)

[,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10

dataframe의 생성

DATA_SET = data.frame( X1 = x1, # 변수명 = 벡터 값, X1_2 = x1_2, X2 = x2, y = y )

데이터 상위단 보기

head()는 데이터의 상단 부분을 지정해주는 행만큼 출력해주는 함수입니다. 현재 5로 설정하였으니 1 ~ 5행을 보여줍니다.

head(데이터 프레임)

print(head(DATA_SET,5))

5. length(), dim()을 활용한 데이터 형태 파악하기

저장된 데이터의 형태를 파악하는 것은, 데이터 분석 진행 상황 중에 틈틈히 확인을 해야하는 사항입니다.

1차원 벡터인 경우, length()를 활용합니다.

length(1차원 벡터)

# 벡터에 속한 원소의 갯수 length(x1)

[1] 10

2차원 행렬, 데이터프레임인 경우에는 dim()을 활용합니다.

dim(행렬 혹은 데이터프레임)

# 행, 열 dim(MATRIX_R)

[1] 5 2

dim(DATA_SET)

[1] 10 4

6. 괄호의 활용

괄호에는 (), {}, []가 있습니다. 모든 컴퓨터 언어에서는 각 괄호의 종류에 따라 쓰이는 방식이 다릅니다. R에서는 이렇게 나뉩니다.

( )

()는 실행 함수(function)과 함께 쓰입니다. 예를 들어, c()에서 c()는 들어오는 값들을 묶어 하나의 벡터로 만드는 기능을 실행합니다. ()안에는 분석하고자 하는 원소(element)값들이 입력되어야 합니다.

# ( ) A=c(1,2,3,4,5)

print(A)

[1] 1 2 3 4 5

{ }

{ }는 for, if문 등에서 조건식을 삽입할 때 쓰입니다. 예를들어, A 벡터에 속해 있는 값들을 순서대로 출력을 해보도록 하겠습니다.

# { } for(i in A){ print(i) # {} 안에 실행 함수를 삽입 }

[1] 1 [1] 2 [1] 3 [1] 4 [1] 5

이번에는 빈 공간을 가지는 벡터를 하나 만든 다음, 빈 벡터에 값을 차례대로 삽입해보도록 하겠습니다.

B = c() # 빈 공간의 벡터 생성 for(k in seq(from = 1, to = 10, by = 1)){ B = c(B,k) }

print(B)

[1] 1 2 3 4 5 6 7 8 9 10

[] []는 Index를 입력해야 될 때 쓰입니다. 처음 시작하는 분들이 가장 틀리는 곳이 대괄호의 활용입니다. 언뜻 보기에는 쉽지만, 나중에 상당 수의 Error는 여기서 발생하고 있습니다. 1차원 벡터의 경우, 간단하게 보고 싶은 위치만 입력하면 되지만, 2차원이상의 데이터 셋에서는 보고싶은 [행,열]을 구분하여 입력을 해야합니다.

1차원 데이터의 경우

# 2번째 값 A[2] [1] 2

# 1,2번째 값 A[1:2] [1] 1 2

# 3번째 값 빼고 A[-3] [1] 1 2 4 5

# 1,2,4,5번째 값 A[c(1,2,4,5)] [1] 1 2 4 5

2차원 data.frame()형태의 경우

# 1행 전부 DATA_SET[1,] # 1행 전부

X1 X1_2 X2 y 1 1 1 1 1

# 1열 전부 DATA_SET[,1] [1] 1 2 3 4 5 6 7 8 9 10

# 1,2,3 행 & 2열 빼고 나머지 print(DATA_SET[c(1,2,3),-2])

X1 X2 y 1 1 1 1 2 2 3 1 3 3 5 1

7. 변수 형태 이해하기

R에서는 데이터의 타입을 다음으로 정리를 하며, 보통 ’Strings’라고 부릅니다.

Strings 파악이 중요한 이유

Strings에 따라 완전히 다른 분석결과가 나올 수 있습니다. 예를 들어, 순서형 변수를 명목형 변수로 취급하는 경우, 순서형에 속한 서열정보를 포기하여 분석하게 되는 경우가 발생합니다. 또한 명령어에 따라 Error가 발생할 수 있습니다. 데이터를 변환하는 과정에서 값이 괴상하게 변경되는 상황도 발생합니다. 무엇보다 가장 중요한 이유는 분석하고자 하는 변수들의 Strings에 따라 분석방법론이 정해지게 됩니다.

변수의 특성에 대한 내용은 매우 간단하지만, 분석 과정에서는 많은 실수가 발생할 수 있으며, 개인적으로는 분석가의 센스가 가장 중요하게 적용되는 부분입니다.

Discrete(이산형): 하나, 둘, 셋, 넷 등 셀 수 있는 변수

명목형 변수: 특성에 따라 명칭을 주어 구분을 지어주는 변수, 변수 값에 따라 서열 정보가 존재하지 않고 모두 동등한 것으로 판단합니다.

서열형 변수: 명목형 변수에서 서열 정보가 주입된 변수, 그에 따라 명목형 변수에 비해 정보량을 더 많이 포함하고 있습니다.

Continuous(연속형): 셀 수 없고 구간으로 정의된 변수

정보량을 가장 많이 품고 있는 변수입니다.

변수의 척도에 따른 정보량

대학생 성적을 예시로 삼았을 때, 명목형으로 변수를 취급할 경우, 학생의 학점이수여부만을 확인할 수 있지만, 서열형으로 취급할 때는 학점 이수를 한 학생 중에서 D0 ~ A+의 성적을 확인할 수 있습니다. 더 나아가, 연속형으로 취급할 경우에는 같은 A+내에서도 백분위를 통해 서열을 알아낼 수가 있습니다. 즉, 정보량은 명목형에서 연속형으로 갈수록 더 많아지게 됩니다.

데이터의 변환

정보량이 풍부한 연속형의 데이터가 순서, 명목형으로 변환이 되는 것은 가능하지만, 명목형이 순서 혹은 연속형 데이터로, 순서형 데이터를 연속형으로 취급하기에는 정보량이 부족하기에 변환이 불가능합니다.

데이터 타입 확인

기본적으로 저장된 데이터들의 타입은 str()명령어를 통해 확인합니다.

str(벡터, 행렬, 데이터 등 모든 저장값)

Numeric_Vector = c(1:20) Chr_Vector = c(“A”,”B”,”C”)

str(Numeric_Vector)

int [1:20] 1 2 3 4 5 6 7 8 9 10 …

str(Chr_Vector)

chr [1:3] “A” “B” “C”

8. 시간(날짜)형태의 변수 다루기

R에서 시간(날짜) 데이터 다루는 방법은 크게 3가지 방법이 있습니다.

1. as.Date()를 활용하여 ‘년-월-일’ 형태로 다루기

2. as.POSIXct()를 활용하여 ‘년-월-일 시:분:초’ 형태로 다루기

3. lubridate패키지를 활용하여 날짜 데이터 다루기

lubridate패키지를 다루는 방법은 여기서 다루지 않도록 하겠습니다.

as.Date()를 활용하는 경우

날짜가 입력된 포맷에 맞춰 옵션값에 설정을 해줘야 합니다.

as.Date(변수, format = “날짜 형식”)

처음 입력되었을 때는, strings가 character였지만, as.Date를 통해 strings가 Date로 변한 것을 확인할 수가 있습니다.

DATE_O = “2018-01-02” DATE_C = as.Date(DATE_O, format = “%Y-%m-%d”)

str(DATE_O)

chr “2018-01-02”

str(DATE_C)

Date[1:1], format: “2018-01-02”

as.POSIXct()를 활용하는 경우

POSIXct는 시간:분:초까지 활용할 수가 있습니다.

as.POSIXct(날짜, format = “날짜형식”)

DATE_O2 = “2015-02-04 23:13:23” DATE_P = as.POSIXct(DATE_O2, format = “%Y-%m-%d %H:%M:%S”)

str(DATE_P)

POSIXct[1:1], format: “2015-02-04 23:13:23″

format()의 활용

날짜정보를 뽑아 새로운 변수를 만들 수 있습니다.

format(날짜변수, “형식”)

format(DATE_P,”%A”)

[1] “수요일”

format(DATE_P,”%S”)

[1] “23”

format(DATE_P,”%M”)

[1] “13”

format(DATE_P,”%Y”)

[1] “2015”

9. as & is를 통해 strings 확인 및 변경하기

as()

as는 “변수 x를 ~로 취급하겠다.” 라는 의미를 가집니다. 또한 summary()는 매우 자주 쓰이는 명령어이며, 데이터의 타입에 따라 결과값이 다르게 나옵니다.

x=c(1,2,3,4,5,6,7,8,9,10) x1 = as.integer(x) x2 = as.numeric(x) x3 = as.factor(x) x4 = as.character(x)

str(x1)

int [1:10] 1 2 3 4 5 6 7 8 9 10

summary(x1)

Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 3.25 5.50 5.50 7.75 10.00

str(x2)

num [1:10] 1 2 3 4 5 6 7 8 9 10

summary(x2)

Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 3.25 5.50 5.50 7.75 10.00

str(x3)

Factor w/ 10 levels “1”,”2″,”3″,”4″,..: 1 2 3 4 5 6 7 8 9 10

summary(x4)

Length Class Mode 10 character character

str(x4)

chr [1:10] “1” “2” “3” “4” “5” “6” “7” “8” “9” “10”

is()

is는 논리문으로써 변수 x가 ~인지 판단하여라. 라는 의미를 가집니다. str()은 단순히 Stirngs를 확인하는 것이지, 논리문으로 결과를 반환해주지 못합니다. 그렇기에 논리조건이 필요할 때는 is.()를 써야 합니다.

x=c(1,2,3,4,5,6,7,8,9,10) y=c(“str”,’str2′,”str3″,”str4″)

is.integer(x)

[1] FALSE

is.numeric(x)

[1] TRUE

is.factor(y)

[1] FALSE

is.character(y)

[1] TRUE

10. sample()을 통한 데이터 무작위 추출하기

데이터가 너무 방대한 경우, 필요 없이 긴 연산을 해야될 때가 있습니다. 이런 경우 무작위 추출을 통해 데이터의 특성은 살리면서, 연산속도를 낮추는 경우가 종종 필요합니다. replace = FALSE는 비복원 추출을 하겠다는 의미입니다.

sample(데이터 추출 범위, 데이터 추출 갯수 , replace = “FALSE OR”TRUE”)

# 로또 번호 추첨 S1 = sample(1:45, 6, replace = FALSE) # 1 ~ 45 중에 6개의 숫자를 비복원 추출하겠다.

print(S1)

[1] 36 28 5 16 26 13

sample()같은 무작위 값을 결과를 내는 코드는 무작위 결과값(실행할 때마다 다르게 나오는)을 고정시켜야 할 때가 있습니다. 이런 경우, set.seed()를 이용하여 결과값을 고정합니다.

set.seed(1234) S2 = sample(1:45, 6, replace = FALSE)

print(S2)

[1] 6 28 27 43 36 26

set.seed()의 괄호 안에는 아무 숫자를 저장해주면 됩니다. 그 숫자에 함께 실행된 무작위 결과값이 저장되어 있습니다. 정확한 기능 확인을 위해서는 set.seed()를 포함하여 sample()을 돌려본 다음, sample()만 돌려보시면 바로 확인할 수 있습니다.

11. 조건문(if) 활용하기

데이터를 분석하다보면, 반복작업을 진행해야되거나, case by case별로 데이터를 정리해야 될 때가 있습니다. 이런 경우, 하나씩 입력하는 것보다는 for문과 if문을 사용하는 것이 훨씬 일이 효율적입니다. for문은 앞서 중괄호 활용 때 다뤄봤으니, if문을 활용하도록 하겠습니다.

A = c(1,2,3,4,5) if( 7 %in% A){ # %in% A에 속해 있는지 확인하는 논리문 print(“TRUE”) } else{ print(“FALSE”) }

[1] “FALSE”

12. function()을 통해 사용자함수 만들기

대부분의 통계 분석은 R에 내장되어 있는 함수와 패키지들을 추가로 다운받아 해결할 수가 있습니다. 하지만 가끔 직접 함수를 만들어야 될 때가 있습니다. function()을 통해 사용자 함수를 만듭니다.

입력 값에 +1을 해주는 함수를 만들기

Plus_One = function(x){ y = x+1 return(y) }

Plus_One(3)

[1] 4

13. R 패키지 설치하기

R은 프로그램이 가벼운 대신, 필요한 함수는 패키지를 설치하여 사용해야 됩니다. 패키지를 설치한 후에는 항상 패키지를 R에 부착시켜야 합니다.

install.packages(“ggplot2”) # ggplot2라는 패키지 설치 library(ggplot2) # ggplot2 패키지 부착

14. 연습문제

sample()을 활용해서 로또번호(1 ~ 45, 6개)를 추첨하여라. 다음의 수열로 구성 된 벡터를 생성하시오.

\[ AV = (1,3,5,7,9,\cdots,99)\\ BV = (1,1,2,2,3,3,4,4,5,5) \]

다음과 같은 행렬을 생성하시오.

\[ M = \begin{bmatrix} \ 1 & 2 & 3\\ \ 4 & 5 & 6\\ \ 7 & 8 & 9 \end{bmatrix} \]

funtion()을 사용하여 다음의 함수를 만드시오.

\[ Quadratic(x,y) = x^2+ y + 10 \]

for()문을 활용하여 구구단을 만드시오.

\[ 1*1 = 1 \\ 1*2 = 2 \\ \cdots \\ 9*9 = 18 \]

R 학습정리 – R 문법 기초(1)

목차

1. R 기본 개요

2. 변수

3. 벡터

4. 벡터연산, 함수, 논리값

+ 챕터별 과제

1. R 기본 개요

1-1. R 언어의 특징 :

1, 2차원 데이터 대상 자료분석, 통계 작업에 특화 (이에 필요한 대부분의 기능을 함수 및 패키지 형태로 제공)

java, C 프로그램과 연동 가능

Compact size, Open Source SW

뛰어난 시각화 기능 제공 (*분석 작업 더 잘하려면 R스튜디오 활용)

2-1. 계산기로 사용하는 R

계산식 입력하면 답이 나옴. 사용자와 대화식으로 반응하며 결과 도출됨

사칙연산자 +,-,*,/,^ 나머지 % 로그 log() 제곱근 sqrt()

2. 변수(variable)

: 변할 수 있는 숫자, 어떤 값을 임시로 보관해 놓기 위한 장소. 그 장소의 이름 = 변수명

ex) A <- 10, B <- A + 20 2-1. 특징 : 프로그래밍 언어의 변수와 유사, 변수의 자료형 지정 X, 어떤 값 & 자료형 모두 저장 가능, 문자형 자료 저장 시 작은따옴표 및 큰따옴표로 묶어 사용, 변수에 다른 값을 집어넣으면 원래 있던 변수는 지워지고 새로운 변수가 저장됨, 한번 만들어 사용한 변수는 R을 종료할 때까지 사라지지 않음 2-2. 변수 이름 규칙 1. 첫 글자는 무조건 문자 혹은 .(dot) 첫 글자가 숫자, 특수 문자로 시작 불가 2. 그 이후에는 문자, 숫자, dot, 언더라인 사용 3. 대소문자 구별해 입력 (소문자로 만든 변수와 대문자 변수 각각 다르게 인식) 2-3. 변수 값 저장 법 “<-“ 또는 “=” *변수 내용을 보고 싶으면 변수 이름 치고 엔터, 또는 print 함수 사용 (ex. print(avg)) #변수의 내용 출력 2-4. 어떤 형태의 자료들이 R 변수에 저장이 되는지? Data type Example 숫자 자연수, 소수 등 문자형 “a”, “Hello” 논리형 TRUE, FALSE (반드시 대문자, T, F로 줄여 사용) 특수 문자 1. NULL : 비어있는 값 , 자료형 없음, 길이 0 2. NA : 결측값 (missing value), 있어야 하는데 없는 값 3. NaN : 수학적으로 정의가 불가능한 값 4. inf, -inf : 양의 무한대 , 음의 무한대 3. 벡터(vector) : 같은 형태의 숫자가 연속되어 있는 1차원 형태 배열을 저장할 수 있는 자료 구조. 수학적 의미의 벡터와 다루는 법 동일. 변수에는 벡터도 저장 가능 * 벡터에 들어가는 연속되는 값은 반드시 동일한 타입(자료형이 다른 것들 묶어 벡터로 저장 불가) 함수명 의미 예시 c (connect) 벡터를 변수에 저장 x<- c(1,2,3) # 숫자형 벡터 y<-c(“a”,”b”,”c”) # 문자형 z<-c(TRUE, FALSE) # 논리형 seq (sequence)일정한 간격의 숫자로 구성된 벡터 생성 v3 <- seq(1, 101, 3) #시작값, 끝값, 간격 rep (repeat) 어떤 한 값 반복해 저장 v5 <- rep(1, times = 5) #1 을 5 번 반복 v6 <- rep(1:5, times = 3) # 1~5 를 3 번씩 반복 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 v7<- rep(c(“a”,”b”,”c”), each = 3) #a~c 를 각각 3 번씩 반복 “a” ”a” ”a” ”b” “b” ”b” “c” “c” “c” names 벡터 여러 개의 연속된 값에 이름 붙이기 ( 계산 시 아무 영향 없음) score <- c(90,85,70) # 성적 names(score)<-c(“John”,”Tom”,”Jane”) # 이름과 함께 값이 출력 >score

John Tom Jane

90 85 70 index 변수 내 특정 위치의 값을 지칭하는 숫자 (R에서는 1부터 시작) d[1:3] # 처음 세개의 자료 출력

d[c(1,3,5)] #1,3,5 번째 자료 출력

d[seq(1,5,2)] # 홀수번째 자료 출력 Negative index 변수에 들어 있는 특정 위치의 값을 제외한 나머지 숫자 d[-2] # 두번째 값은 제외하고

d[-c(3:5)] # 세번째에서 다섯번째 값은 제외하고

– 벡터 저장하기 : 연속된 숫자 입력 시 사용, c함수 안에 같이 사용 가능

v1 <- 50:90 #50~90사이에 있는 정수 v2 <- c(1,2,5, 50:90) # 1, ,2 ,5와 50~90 사이의 정수 저장 - 원하는 조건에 맞는 데이터 추출 d<-c(1,4,3,7,8) - 이름을 이용해 값 추출하기 GNP <- c(2090,2450,960) names(GNP) <- c(“Korea”,”Japan”,”Nepal”) GNP[1] GNP[“Korea”] GNP[c(“Korea”,”Nepal”)] -과제- R을 사용하여 다음의 계산식에 대한 해답을 구하시오. 1. 101 ~ 200 의 값으로 구성된 벡터 d 를 생성하시오. 2. d 에 어떤 값이 저장되었는지 확인하시오. 3. d 에서 10번째 값은 무엇인가? 4. d 에서 뒤에서 10개의 값을 잘라내어 보이시오. 5. d 에서 짝수만 출력하시오. 6. d 에서 앞에서 20 개의 값을 잘라내어 d.20 에 저장하시오. d.20 의 값을 보이시오. 7. d.20 에서 5번째 값을 제외한 나머지 값들을 보이시오. 8. d.20 에서 5,7,9 번째 값을 제외한 나머지 값을 보이시오. 4. 벡터연산, 함수, 논리값 4-1. 벡터연산 벡터 연산 예시 벡터에 대한 산술 연산 (사칙연산) *벡터가 들어있는 모든 원소에 대한 연산 d<-c(1,4,3,7,8) 2*d # 모든 원소에 곱하기 2 d-5 # 모든 원소에 5 를 뺌 3*d + 4 # 모든 원소에 3 을 곱하고 각각 4 를 뺌 두 벡터의 연결 x<-c(1,2,3) y<-c(4,5) c(x,y) # 단순히 x, y 를 연결해 출력 z <- c(x,y) #x, y 를 연결해 z 에 저장 두 벡터의 합 x<-c(1,2,3) y<-c(4,5,6) x+y # 대응하는 원소끼리 더하여 출력 z<- x+y # 대응되는 원소끼리 더해진 다음 z 에 저장됨 * 두 벡터의 길이가 같아야 함 4-2. 데이터 벡터에 적용 가능한 함수들 함수명 의미 sum() 자료의 합 mean() 자료의 평균 median() 자료의 중앙값 max(), min() 자료의 최대, 최소값 var() 자료의 분산 값 sd() 자료의 표준편차 sort() 자료를 정렬하여 출력 range() 자료의 범위(최대값~최소값) length() 자료의 개수, 자료의 길이 -연습- d<-c(1,2,3,4,5,6,7,8,9,10) sum(d) #1~10까지의 합 sum(2*d) #1~10까지 2를 곱한 후 더한 값 sort(d) #오름차순 정렬 sort(d, decreasing = FALSE) #오름차순 정렬 sort(d, decreasing = TRUE) #내림차순 정렬 4-3. 함수 입력 값(input) 계산(function) 출력 값(output) y = f(x) Q. 평균을 구하는 함수를 이용하기 위해 우리가 알아야 할 것은? A. 1. 어떤 함수인지 알아야 함 2. 인풋(input)이 무엇인지 알아야 함 3. 함수를 실행한 결과가 무엇인지 알아야 함 어떤 함수가 무슨 일 하는지 알면 help 이용하면 됨 ex) d <- c(1,2,3,4,5,6,7,8,9,10) sort(d, decreasing = FALSE) ㄴ>매개변수

sort(x = v1, decreasing = TURE)

sort(v1, FALSE)

sort(FALSE, v1) #에러

sort(v1) #디폴트값 적용. decreasing = FALSE

매개변수 이름 정해져 있음. 매개변수 이름 쓰지 않을 경우, 함수에 정해진 순서대로 값을 집어넣어야 제대로 작동함

4-4. 논리 연산자

어떤 2개의 숫자 사이에 비교해 그 결과가 참 또는 거짓으로 나오는 연산, 결과는 TRUE 또는 FALSE

논리연산자 의미 ex) d<- c(1,2,3,4,5,6,7,8,9) <, >, <=, >= 대소비교 d>=5 # FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE

d[d>5] #TRUE만 결과로 나옴 (6,7,8,9)

sum(d>5) # 논리 값이 계산에 사용되면 TRUE 는 1, FALSE 는 0 으로 취급. 5 보다 큰 원소가 몇 개 있는지 개수를 출력

sum(d[d>5]) 안에 있는 것부터 계산 # FALSE FALSE FALSE TURE TURE TURE –> TRUE 인 값만 출력 == 같다(equal) 두 값이 같은지 비교 d==5 #5와 일치하는지

FALSE FALSE FALSE FALSE TRUE != 두 값이 같지 않은가?

두 값의 동일함 비교 | or & and condi <- d>5 & d < 8 #조건식을 변수에 저장. 5보다 크고 8보다 작은 값 출력 -과제- d1, d2 가 다음과 같을 때 질문에 답하시오. (1~8) d1 <- 1:50 d2 <- 51:100 1. d1, d2 의 값을 보이시오. 2. d1+d2, d2-d1, d1*d2, d2/d1 의 결과를 각각 보이시오. 3. d1, d2 의 값들의 합(sum)을 각각 보이시오. 4. d1, d2 에 있는 모든 값들의 합(sum)을 보이시오. 5. d2 에서 가장 큰 값과 가장 작은 값을 보이시오. 6. d2 와 d1 의 값들의 평균값을 각각 구하고 두 평균의 차이를 보이시오. 7. d1 의 값들을 큰수에서 작은 수 순으로 정렬하여 보이시오. 8. d1 과 d2 에서 큰수 순으로 각각 10개씩을 추출하여 d3 에 저장하시오. (결과적으로 d3 에는 20개의 수가 저장) 다음과 같이 벡터 v1 을 생성하시오. (9~17) v1 <- 51:90 9. v1 에서 60 보다 작은 수 들을 보이시오. 10. v1 에서 70 보다 작은 수 들은 몇개인지 보이시오. 11. v1 에서 65 보다 큰 수들의 합을 보이시오. 12. v1 에서 60보다 크고 73 보다 작은 수들을 보이시오. 13. v1 에서 65 보다 작거나 80 보다 큰 수들을 보이시오. 14. v1 에서 7로 나눈 나머지가 3 인 숫자들만 보이시오. 15. v1 에서 짝수들의 합계를 보이시오. 16. v1 에서 홀수이거나 80 보다 큰 수를 보이시오. 17. v1 에서 3과 5의 공배수를 보이시오. http://www.kmooc.kr/courses/course-v1:DKUK+DKUK0003+2020_T1/about

So you have finished reading the r 문법 topic article, if you find this article useful, please share it. Thank you very much. See more: R 문법 정리, R 기본 문법, r언어 설치, R에서, r언어 프로그램, R 언어 예제, r언어란, R 사용법

Leave a Comment