반응형

전체 글 51

[독후감] 의미 있는 삶을 위하여 (알렉스 룽구)

내 인생의 의미가 무엇인가? 어떤 비전을 가지고 살아야 하는가? 이에 대한 답은 개개인마다 다르고 정답이 없지만 이를 찾을 수 있도록 방법적인 측면을 제공하는 책이다. 나의 삶을 관통하는 비전을 설정하고(추상적), 그것을 실현하기 위한 목표(구체적)를 세우고 해동해야 한다는 것이다. 저자는 개개인은 자신만의 비전에 따라 행동의 방향성을 결정하여 자아확장을 이룰 수 있다는 것을 강조하고 있다. 개인적인 측면에서 생각해볼 때 내 인생의 비전, 의미를 깊이 생각해보진 않았던 것 같다. 하지만 경험적으로 봤을 때 나는 무언가에 흥미를 느끼고 재밌다는 생각이 들었을 때 몰입을 했던 것 같다. 책에서는 지구, 환경, 공동체, 진리, 존재론 등에 무엇이 됐든 나 이외에 헌신할 수 있는 대상을 찾아 거기에 나를 내던지..

독후감 2023.10.07

[R] separate_longer_delim 함수 (구분자로 된 변수 처리하기)

separate_longer_delim 함수 (구분자로 된 변수 처리하기) 1. 구분자(콤마, 빈칸 등)로 구분된 데이터셋 아래 그림처럼 데이터셋에 구분자가 포함된 변수들이 있습니다. 이 데이터셋은 각각의 사람이 어떤 과일을 좋아하는지를 나타낸 것입니다. Q) 만약 성별에 따라 어떤 과일을 좋아하는지 빈도를 구하려면? table() 함수를 이용해서 빈도 수를 구할 수 있습니다. 하지만 이 상태에서는 table 함수를 쓰면.. 안됩니다. 왜냐하면 콤마를 포함해서 한 문자열로 인식하기 때문에 각각의 과일 구분이 어렵습니다. 이 형태가 각 과일과 성별에 대한 빈도표입니다. 빈도표를 만들기 위해 데이터셋을 long format으로 만들어주는 과정이 필요합니다. 이 작업을 일일히 하기 어렵습니다. 이 때 꽤 좋은..

[R] merge 함수를 이용한 조인 (데이터셋 결합)

R merge 함수로 조인하기 이전에 R을 이용한 Join 방법 내용을 포스팅을 했었는데요. 이번에는 R에 기본적으로 내장되어 있는 함수인 'merge'를 이용해서 해보려고 합니다. 1. merge 함수의 쓰임새 merge 함수는 다수의 데이터셋을 결합해야 하는 경우에 쓰입니다. 예를 들어, 1) 학생들의 시험 성적 데이터셋 2) 학생들의 신장, 몸무게 데이터셋 여기서 데이터셋을 한 번에 볼 수 있도록 결합하는 것이 목적입니다. 우선 아래 코드에 따라 데이터셋을 생성합니다. df1

[R] duplicated 함수 끝내기 (중복 데이터 확인하기)

R duplicatd 함수 1. duplicated 함수 duplicated 함수는 반복적으로 나타나는 요소를 보여주는 함수입니다. 함수의 결과 형태는 논리형 벡터(Logical vector)로 나타납니다. # 1~4의 반복요소 만들기 dup 위에서 TRUE로 반환된 숫자들이 나옴. dup[dup_logic] [1] 1 1 1 2 2 2 2 3 4 여기서 중복된 요소를 하나씩만 추출하려면 다음같이 합니다. duplicated(dup) [1] FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE # 방법1. # 느낌표(!)를 붙이면 논리형 연산자들이 반대로 나오죠 # TRUE -> FALSE // FALSE->TRUE !duplicate..

[R] seq 함수 (숫자 연속으로 나열하기)

seq 함수(숫자 연속으로 나열하기) 1. seq 함수 seq 함수는 숫자를 연속적으로 생성하기 위한 것입니다. 시작번호와 끝번호를 지정하면 순차적으로 수가 나열되며 by 인자를 통해 간격 조정도 가능합니다. 아래는 seq 함수 사용을 위한 각 인자에 대한 설명입니다. seq( from = # 시작 번호 to = # 끝 번호 by = # 간격 length. out = # 결과값(벡터)의 길이 2. seq 함수 예시 from에 1을 지정하고 to에 5를 지정하면 1부터 5까지의 순열이 생성됩니다. 이 때 by를 생략하면 기본값으로 1이 인식됩니다. 만약 숫자 간격을 1 이 외의 수로 지정하고 싶다면 by 인자에 수를 따로 지정해야 합니다. length.out 인자는 결과값(벡터)의 길이를 지정합니다. 예를..

[R] rep 함수 (반복적으로 값 산출하기)

rep 함수 (반복적으로 값 산출하기) 숫자나 문자열을 반복적으로 산출하는 작업 시에는 rep 함수를 사용합니다. 1. rep 함수 2. rep 함수 예시(숫자형) 1) 3을 5회 반복 rep(x=3, times=5) [1] 3 3 3 3 3 2) 1~3을 4회 반복 rep(x=1:3, times=4) [1] 1 2 3 1 2 3 1 2 3 1 2 3 3) 1~3의 각 요소를 4회씩 반복 rep(x=1:3, each=4) [1] 1 1 1 1 2 2 2 2 3 3 3 3 4) 1~3의 각 요소를 4회씩 반복 & 전체를 3회 반복 rep(x=1:3, each=4, times=3) [1] 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3..

[SAS] Proc Import 데이터 불러오기

Import procedure은 외부 데이터를 불러오기 위한 프로시저입니다. 사용법은 아래와 같습니다. 1. Proc import statement PROC IMPORT DATAFILE = 파일위치 or 파일명 DBMS= 불러올 데이터 타입 - (CSV, DLM,...) OUT= 생성할 데이터셋 이름 지정 REPLACE; 데이터 덮어쓰기 RUN; csv 파일을 아래처럼 생성하였습니다. PROC IMPORT DATAFILE = 파일위치 or 파일명; DBMS= CSV OUT= WORK.TEST1; RUN; 만약 데이터를 덮어쓰고 싶다면 replace 를 지정해야 합니다. 즉, replace 지정하지 않으면 아무리 실행해도 최초에 생성된 데이터셋에서 변하지 않습니다! PROC IMPORT DATAFILE =..

[R] 작업 디렉토리에서 파일 찾기 및 변수 할당하기

작업 디렉토리에서 특정 문자열을 포함한 파일을 찾고 싶을 때가 있는데요. 이 때는 작업디렉토리에서 파일 이름을 먼저 불러와야 합니다. 아래 단계를 통해 간단하게 알 수 있는 방법이 있습니다. 1. getwd()로 작업 디렉토리 확인하기 작업 디렉토리는 사용자마다 다를 수 있습니다. getwd() 는 현재 작업 디렉토리로 지정된 주소를 확인합니다. 저는 "C:/love_R" 이라는 곳에 지정되어 있습니다. 2. dir()로 작업 디렉토리 파일 확인하기 dir() 함수는 작업 디렉토리 안에 있는 파일들을 확인할 수 있습니다. 이 때 "covid" 문자를 포함한 파일들만 보고 싶다면 어떻게 할까요? 3. grep 함수로 문자 찾기 dir() 로 화면에 보여지는 파일들은 문자형 벡터로 주어집니다. test_di..

[SAS] 데이터셋 만들기(input, cards) ㅡ ①

SAS 데이터셋 만들기 아래와 같은 표를 SAS로 만들어 봅시다. 아래 코드를 입력하고 F3를 누르면 데이터셋이 생성됩니다. DATA test_dataset; /* 데이터셋 명*/ INPUT id Sex $ Age JobType $; /* 칼럼명 */ CARDS; /*데이터 입력*/ 1 Male 38 Engineer 2 Female 27 Singer 3 Female 32 Teacher 4 Male 23 Student ; run; DATA 명령어는 데이터셋 명을 지정합니다. 이 예에서는 test_dataset 이라는 이름으로 만듭니다. 해당 데이터는 WORK 라이브러리(일시적인 라이브러리)에 저장됩니다. 만약 영구적인 라이브러리에 데이터셋을 저장하려면 데이터셋의 이름 앞에 라이브러리 명을 입력합니다. A1..

[SAS] 라이브러리 지정하기

[SAS] 라이브러리 지정하기 SAS 라이브러리란 데이터를 저장해놓는 폴더와 같은 개념입니다. 라이브러리에는 두 가지 종류가 있습니다. - 일시적으로 생성되는 라이브러리 - 영구적으로 생성되는 라이브러리 여기에서 일시적으로 생성된다는 뜻은 SAS 세션이 지속되는 동안만 저장되는 공간이고 프로그램을 껐다가 다시 키면 라이브러리는 삭제됩니다. 따라서 영구적으로 저장해놓을 필요가 있는 자료가 있을 때는 특별히 이름을 지정해야 합니다. 반대로 일시적인 라이브러리는 따로 이름을 지정하지 않습니다. 대신에 "WORK" 라고하는 특별한 이름을 씁니다. 라이브러리 이름이 "WORK"에 저장된 자료는 모두 일시적으로 저장됩니다. 1. 일시적인 라이브러리 생성법 DATA work.test1; INPUT test_var; ..

반응형