[개미의 걸음 ADsP 3과목] R 데이터의 구조 - ①벡터(Vector) with(length, name, :, rep, seq, sequence,c 함수)
크기와 방향을 가지는 양
# 스칼라[Scalars]
스칼라는 크기만을 가지는 변량
ex> 질량, 길이, 넓이 등
벡터를 만들 때 여러가지 유형을 넣어도 최종적인 결과에는 하나의 유형으로 강제 변경됨 숫자형과 문자형, 문자형과 논리형 등의 구성을 하고 싶을 때에는 list 사용 |
C언어의 배열처럼 벡터가 저장되지만 파이썬과 같이 원소를 추가하거나 삭제할 수 없다. → 기존 언어와 비교해서 불편한 점. |
데이터의 유형 | 기본적인 데이터 유형 : 문자형, 복소수형, 수치형, 논리형 mode()함수는 데이터의 유형을 is.()함수는 지정한 데이터 유형인지 아닌지를 알려줌 |
원소의 개수 | 벡터가 몇 개의 원소[element]를 가지고 있는지를 알려줌 length()함수는 벡터의 원소 개수를 알려준다.[벡터의 길이를 알려주는 함수] |
원소의 이름 | 기본적으로는 벡터의 원소에 대한 이름은 없으나 이름을 부여할 수도 있다. name()함수는 벡터 원소의 이름을 부여하거나 이름이 무엇인지 확인할 수 있다. |
수치형 벡터로 된 두 개 이상의 벡터간 사칙연산이 가능
R의 강점은 벡터의 연산이 편리하고 빠르다는 것
벡터들 간의 사칙연산이 가능하며 최종적인 결과는 벡터가 됨 벡터들 간의 연산이 될 때, 각 벡터에 있는 동일한 위치의 값들 간의 연산이 가능 |
두 벡터가 가지는 원소의 개수가 다르더라도 결과적으로 사칙연산이 가능 벡터 자체는 변하지 않지만 연산과정에서 원소의 개수가 적은 쪽의 벡터는 원소 개수가 많은 쪽의 벡터와 동일하게 원소 개수를 맞춤 → 원소 개수가 차이나는 만큼 임시적으로 데이터가 생성됨 → Recycling Rule[재사용 규칙] |
# 재사용 규칙[Recycling Rule]
ex> V1=1:3, V2=1:6 → V1+V2 = 2 4 6 5 7 9
새롭게 생성되는 4,5,6번째 데이터는 V1의 1,2,3번째에 있는 값을 순서대로 가짐
단, V1의 데이터 개수와 V2의 데이터 개수 간에 약수나 배수의 관계가 성립해야만 사용 가능
약수나 배수 관계가 성립하지 않을 경우, 연산시 사용자가 원하는 결과가 아닐지도 모르니 잘 살펴보라는 의미에서 경고 메시지를 발생시킴
두 개 이상의 값으로 이루어진 벡터를 생성할 때와 하나의 값으로 이뤄진 벡터를 생성할 때 방법이 다름
:(콜론) | 1이 증가하거나 1이 감소하는 규칙이 있는 값으로 이루어진 벡터 생성 방법 수치형에만 적용가능 "start : end"구조이며 start와 end는 숫자 * start>end일 경우 1씩 감소 * start<end일 경우 1씩 증가 * start=end일 경우 start 또는 end |
ex> V3 = -3.3:2 → -3.3 -2.3 -1.3 -0.3 0.7 1.7 V2 = 2:-3.3 → 2 1 0 -1 -2 -3 |
|
rep( ) | 함수 내에 지정된 데이터를 복사해주는 벡터생성방법[반복] 수치형, 복소수형, 문자형, 논리형 모두 적용 가능 replicate의 약자로 x, times, each, length.out이라는 argument가 있다. * x는 복사하고 싶은 벡터 * times는 지정된 벡터가 하나의 숫자라면 복사하고 싶은 벡터 전체를 times만큼 복사 지정된 벡터가 수치형 벡터인 경우 복사하고 싶은 벡터 원소 각각을 times벡터원소만큼 복사 * each는 지정된 숫자만큼 스칼라나 벡터의 원소를 각각 복사[양수만 가능] * length.out은 생성된 벡터의 길이를 지정 [양수만 가능] * each와 times를 같이 사용할 경우 each가 먼저 적용되고 times가 적용된다. |
ex> V1 = (C("a","b"), times=3) V1 → "a" "b" "a" "b" "a" "b" V2 = (C("a","b"), each=3) V2 → "a" "a" "a" "b" "b" "b" V3 = (C("a","b"), times=2, each=2) V3 → "a" "a" "b" "b" "a" "a" "b" "b" V4 = (C("a","b"), times=C(5,2)) V4 → "a" "a" "a" "a" "a" "b" "b" |
|
seq( ) | 콜론(:)의 확장 또는 일반형으로 1 이외의 증가 또는 감소 규칙이 있는 값으로 이뤄진 벡터생성방법 수치형에만 적용가능 seq()함수는 sequence의 약자 [sequence()함수와는 다름] seq()함수에는 from, to, by라는 argument가 있다. * from : 시작 값 * to : 끝 값 * by : 증가*감소하는 단계값 |
ex> V1=seq(from=1, to=5, by=1) V1 → 1 2 3 4 5 V2=seq(from=1, to=3, by=0.5) V2 → 1 1.5 2 2.5 3 V3=seq(from=5, to=1, by=1) V3 → Error V4=seq(from=5, to=1, by=-1) V4 → 5 4 3 2 1 |
|
Sequence( ) | 1과 지정한 숫자 사이에 정수 값으로 이루어진 벡터생성방법 수치형에만 적용가능 "sequence(숫자)"형태로 사용 * 숫자 자리에 음수가 들어가면 오류가 발생 * 숫자 자리에 0이들어가면 벡터는 생성되지만 값은 없다. [벡터를 초기화할때 사용가능] |
ex> V1 = sequence(5.5) V1 → 1 2 3 4 5 V2 = sequence(1) V2 → 1 V3 = sequence(0) V3 → Integer(0) V4 = sequence(-2) V4 → Error |
|
C( ) | 규칙이 없는 특정한 행이나 열의 데이터를 추출할 때 사용하는 가장 대표적인 벡터생성방법 문자형, 복소수형, 숫자형, 논리형 모두 적용 가능 C()함수는 Combine 또는 Concatenate의 약자 * 문자형 데이터는 큰 따옴표나 작은 따옴표를 해준다. * 단, 논리형 데이터(TRUE, FALSE)는 안함 * 벡터들을 합쳐서 하나의 새로운 벡터를 생성할 수 있다. |
ex> V1 = C("Kim", "Lee", "Park") V1 → "Kim" "Lee" "Park" V2 = C(TRUE, FALSE, TRUE) V2 → TRUE, FALSE, TRUE |
기 능 | 비고 |
mean(변수) | 변수의 평균 산출 |
sum(변수) | 변수의 합계 산출 |
median(변수) | 변수의 중앙값 산출 |
long(변수) | 변수의 로그값 산출 |
sd(변수) | 변수의 표준편차 산술 |
var(변수) | 변수의 분산 산출 |
cov(변수1, 변수2) | 변수간의 공분산 산출 |
cor(변수1, 변수2) | 변수간 상관계수 산출 |
length(변수) | 변수간 길이를 값으로 출력 |
※ Stdev : 엑셀에서 표본의 표준편차
※ Stdevp : 엑셀에서 모집단의 표준편차
※ 공분산 : 두 변수의 관계를 나타내는 양
※ 상관계수 : 공분산을 표준편차로 나눈 값으로 항상 -1과 1사이의 값을 가짐
# 상관계수
공분산을 표준편차로 나눈 값으로 항상 -1과 1사이의 값을 가짐
+값 : 정적 상관 / -값 : 부적 상관
지역 독립성 : 두 변수에 일정한 값을 규칙적으로 더하거나 빼도 상관계수는 변하지 않는다.
척도 독립성 : 두 변수에 일정한 값을 규칙적으로 곱하거나 나누어도 상관계수는 변하지 않는다.
벡터가 가지는 원소들 중에서 일부의 원소를 추출하는 것
[개미의 걸음 ADsP 3과목] R 데이터의 구조 - ③ Array (배열) (0) | 2020.07.24 |
---|---|
[개미의 걸음 ADsP 3과목] R 데이터의 구조 - ②Matrix(행렬) with (rbind, cbind 함수) (0) | 2020.07.23 |
[개미의 걸음 ADsP 3과목] R기초③ R 데이터 유형 및 변환 with (mode, is, as 함수) (0) | 2020.07.21 |
[개미의 걸음 ADsP 3과목] R기초② R 연산자(산술, 비교, 할당, 논리) (0) | 2020.07.20 |
[개미의 걸음 ADsP 3과목] R기초① 변수 & 주요 KEY & 기초함수&기초통계함수 (0) | 2020.07.19 |
댓글 영역