본문 바로가기

Data analysis story

[R프로그래밍]-함수 만들기2(함수 내의 변수 범위, 지역 변수(logcal variable, 전역 변수(global variable), 지역변수를 전역변수로 바꾸기) 안녕하세요, 여러분!! 오늘은 R프로그래밍 사용자 지정 함수 그 두번째 시간!! 으로 변수의 범위에 대한 내용을 살펴보고자 합니다!! 변수의 범위에 대해서 처음 배우는 분들이라면 ‘변수의 범위’라는 말에 대해 감이 안 잡힐 거에요! 함수 내의 변수 범위(scoping rules) "변수의 범위란 무엇일까요?" R에서는 변수마다 자신이 인지될 수 있는 범위가 있는데요! 이 문장을 컴퓨터 내부 구조적으로 생각해보면 ‘메모리가 존재하는 수명이 있다.’라는 뜻입니다. 변수는 메모리에 할당되는 것이잖아요! 그러므로 메모리에 할당되고 그 할당이 끝날 때 까지를 변수의 lifetime이라고 할 수 있는 것이죠! 즉 변수의 생명에 시작과 끝이 있는 것이죠. 왜 그런 걸까요? 메모리에는 한계가 있습니다. 무한정 메모리를.. 더보기
[R 프로그래밍- 함수 만들기(사용자 지정 함수 문법, 함수를 부르는 방법, 함수 확인하기, 함수의 결과가 하나 이상일 때, 함수 안의 함수, 함수를 돌려주는 함수, 가변 길이 인자) ] 안녕하세요, 여러분! 오늘은 R프로그래밍 함수편에 대해서 학습해보겠습니다! 함수는 낯선 개념이 아니죠? 우리는 이때까지 R의 내장함수를 참 많이 사용해왔으니까요! 그 중 기억에 남는 내장함수가 있나요? 데이터프레임을 만드는 data.frame()이라는 함수, 결과값을 출력하는 print()라는 함수 등등 정말 많은 함수를 배웠죠? 이렇게 그동안 남들이 만든 함수를 사용했다면 이번에는 ‘내가 직접 함수를 어떻게 만들 것인가?’에 대해서 알아보는 시간을 가져봅시다! R의 큰 장점 중 하나는 함수를 굉장히 유연하게 정의하고 사용할 수 있다는 점인데요! 그렇다면 대체 함수를 만드는 것이 어떤 장점을 가져다줄 수 있는 걸까요? 함수의 작성은 코드의 반복을 줄이거나 코드의 가독성을 높여줍니다. 또한 함수를 작성하면.. 더보기
[R프로그래밍]-입력과 출력의 모든 것(scan,readline,print,cat,read.table, read.csv, write.table, write.csv 함수) 안녕하세요 여러분! 저번시간까지 우리는 R의 데이터 타입을 배우면서 열심히 달려왔습니다!! 이번 포스팅에서는 'R의 입력과 출력', 그 모든 것!에 대해서 다뤄보려고 합니다! 먼저 기본 입출력 함수들을 배워보고 어떻게 파일을 읽고 어떻게 파일을 쓰는지! 그 방법까지 알아보도록 하겠습니다!! 기본적인 입출력 함수 기본적인 입력 함수부터 볼까요? ①입력함수: scan() 입력함수 그 첫번째는 scan() 입니다. scan()은 기초적인 입력 명령어인데요! 키보드를 통해 값을 직접 입력할 수 있습니다!! 이렇게 코드를 입력하면 되는데요 그러면 콘솔 창에 직접 입력하라고 커서가 깜빡거립니다. 입력할 데이터들을 입력하고 입력을 끝내고 싶다면 마지막 줄에 빈 줄을 주면 됩니다! 숫자 데이터 말고 문자 데이터를 입력.. 더보기
[Python] 함수만들기-2 (*args, return의 쓰임새, 디폴트 인수, 키워드 인수, 지역변수, 전역변수) 안녕하세요 여러분! 저번 시간에는 내가 직접 함수를 만드는 방법과 함수의 4가지 형태(입력 값과 결과 값의 유무에 따라)에 대해서 살펴보았습니다! 오늘은 함수 그 두 번째 시간으로 함수에 관해 못다한 이야기들을 해보려고 합니다! 저번 파이썬 포스팅([Python]함수 만들기)을 완벽히 숙지한 후 이 포스팅을 봐주세요! ① 여러 개의 입력 값을 받는 함수 만들기 저번 시간 포스팅을 통해 여러분들도 여러분들만의 함수를 많이 만들어보셨을 거라 생각하는데요 많은 사용자 지정 함수 중에서도 ‘여러 개의 입력 값들을 받아 모두 함수'!를 어떻게 만들 수 있을지 상상이 되시나요? 음,, 예를 들어서! 양수의 모든 값을 입력했을 때 그것을 모두 더해주는 그런 함수를 만들 수는 있을 것 같아요! 음수를 센티널로 두고 이.. 더보기
[Python] 함수 만들기 안녕하세요, 여러분! 파이썬의 저번 포스팅까지 해서 제어문을 다 배워보았습니다! if문, for문, while문 모두 복습 잘 하셨나요?? 이번 시간에는 “함수”에 대해 이야기해보는 시간을 가질꺼에요! 그런데 우리 파이썬 그 두번째 포스팅에서 함수에 대해 배우지 않았었나요? 그러면 같은 내용을 또 배우는 건가요?? 아닙니다! ㅎㅎ 두 번째 포스팅에서 제가 이런 말을 했었는데요! “파이썬에서는 내장되어 있는 함수를 쓰기도 하고 또 함수를 불러오기도 하고 심지어는 내가 함수를 만들 수까지 있습니다! 오늘은 파이썬에 내장되어 있는 기초 함수들 몇 개를 알아보는 시간을 가질게요!” 이렇게 말이죠! 그래서 두번째 시간에 내장 함수 몇 가지에 대해서 알아보았죠!! 대표적으로 input() 함수 기억나시나요? 어쨌든.. 더보기
[Python] 파이썬의 제어문- while 반복문(while을 사용한 프로그램 예시들, 중첩 루프, 무한 루프) 안녕하세요! 오늘은 파이썬 제어 구문에 대한 마지막 포스팅이네요!! 이번 포스팅에서는 ‘While 반복문’에 대해서 차근차근 배워보도록 합시다! 반복문에는 2가지 구조가 있습니다. 지난 포스팅에서 다뤘던 for문과 이번 포스팅에서 다룰 while, 이렇게 두가지요! for문에서는 range 함수 또는 리스트를 활용해서 반복할 횟수를 미리 정해주었죠. (for문이 헷갈린다면 저번 포스팅을 참고해주세요!) 이에 비해 while문은 반복할 횟수를 정해주고 그 횟수만큼 반복하는 것이 아니라 ‘어떤 조건을 만족할 때까지’ 반복을 계속하는 반복문입니다. 그림을 본다면 이해가 좀 더 쉬우실거에요! 이렇게 10번 이하라는 조건을 만족하면 while문 안의 문장들이 반복적으로 실행되고 조건을 만족하지 못하게 되는 순간 .. 더보기
[R 프로그래밍]- 데이터프레임(Dataframe)의 모든 것 [초보자들이 이해하기 쉬움!!] 안녕하세요! 여러분! 오늘은 드디어 R언어 데이터 타입의 마지막 시간이네요! 오늘은 R애서 가장 중요한 데이터 타입이라고 할 수 있는 ‘데이터프레임(Data Frame)’에 대해서 배워보는 시간을 가져보겠습니다! 이번글은 긴 글이지만 데이터프레임에 대해서 정확히 알고 싶다면 천천히 시간을 가지고 읽어보는 것을 추천드려요!! 이때까지 우리는 벡터, 리스트, 매트릭스, 어레이, 팩터 등등 다양한 데이터 형태를 배워왔습니다. 그런데 현실 세계에서 가장 많이 사용하는 데이터 형태는 표(table) 형태인데, 지금까지 표(테이블)형태의 데이터를 쉽게 다룰 수 있는 자료형을 배운 적 있었나요? 실제 세계의 테이블 형태의 조건은 다양한 자료형을 넣을 수 있어야 한다는 점과 또 당연히 표 형태니까 2차원이어야 한다는 .. 더보기
[R 프로그래밍]- List(리스트), Array(어레이) 안녕하세요 여러분! 벌써 데이터 타입 4번째 시간이네요! 벡터, 팩터, 매트릭스(행렬) 순으로 R의 데이터 타입에 대해 차근차근 배워 나가고 있습니다! 오늘은 데이터 타입 4번째 시간으로 리스트와 어레이에 대해서 공부해보도록 하겠습니다! 리스트(List) 우리가 이제껏 배워온 데이터 타입은 벡터, 팩터, 매트릭스로서 숫자면 숫자, 문자면 문자 이렇게 같은 종류의 데이터만을 가지는 구조였었는데요! 벡터와 매트릭스의 차이는 1차원이냐 2차원이냐였죠! 리스트는 다릅니다! 리스트는 서로 다른 유형을 가진 데이터들로 구성될 수 있으며 서로 다른 길이, 서로 다른 차원으로 구성될 수도 있습니다! 아직은 이게 무슨 말인지 감이 잘 오지 않을 수도 있는데요! 예시를 보다 보면 앞서 배운 구조들과 확실히 비교가 될 겁니.. 더보기