채니의 개발일기

R 1차원데이터 다루기 본문

프로그래밍언어/R기초

R 1차원데이터 다루기

윤채니챈 2023. 6. 17. 08:53
728x90
반응형

• 벡터생성하기 -> 벡터 : 동일한 데이터 타입을 가진 연속된 요소들의 모음

 

  1. c() 함수를 사용하여 값을 직접 지정하여 벡터를 생성

    예를 들어, c(1, 2, 3, 4, 5)와 같이 숫자를 나열하여 숫자 벡터를 생성할 수 있다.

  2. : 연산자를 사용하여 벡터를 생성

      예를 들어, 1:5는 1부터 5까지의 정수 벡터를 생성

 3.  seq() 함수를 사용하여 일정한 간격을 가지는 순차적인 값의 벡터를 생성

     예를 들어, seq(1, 10, by = 2)는 1부터 10까지 2의 간격으로 순차적인 값의 벡터를 생성합니다.

 4. rep() 함수를 사용하여 값을 반복하여 벡터를 생성. 예를 들어, rep(0, 5)는 0을 5번 반복한 벡터를 생성한다.

#벡터생성 - c()
v1 = c(1,2,3,4,5)
v1

#수치형 백터생성 - : 연산자를 사용하여 일정한 범위 내의 수치형 벡터를 생성
v2 = 1:5
v2

#문자열 벡터 생성 
v3 = c('A','B','C','D')
v3

#반복벡터생성 - rep(반복할숫자, 반복횟수)
v4 = rep(1,5) 
v4

#c(1,5)벡터 5번반복
v5 =rep(c(1,5),5)
v5

#c(1,5)벡터 1두번 5 세번반복
v6= rep(c(1,5),c(2,3))
v6 

#수열벡터생성 :2씩증가
v7 = seq(1,10,by=2)
v7

#length.out: 생성할 벡터의 길이
v8 = seq(1,10,length.out=5)
v8

#seq(시작날짜, 종료날짜, 날짜간격)
v9 = seq(as.Date('2019-01-01'),
         as.Date('2019-01-10'),
         by=1)
v9

• 변수특성확인하기

 

  str() 함수: 변수의 구조를 확인하는 함수입니다. 해당 변수의 데이터 타입과 길이, 값들의 예시 등을 보여준다.

str(v1) # v1 = c(1,2,3,4,5)
str(v3) # v3 = c('A','B','C','D')
str(v9) #seq(as.Date('2019-01-01'),as.Date('2019-01-10'),by=1)

결과값

num [1:5] 1 2 3 4 5
chr [1:4] "A" "B" "C" "D"
Date[1:10], format: "2019-01-01" "2019-01-02" "2019-01-03" "2019-01-04" "2019-01-05" "2019-01-06" ...

 • num [1:5] 1 2 3 4 5 ->  num은 수치형 벡터 나타냄.  [1:5]는 벡터의 인덱스 범위를 나타내며, 1부터 5까지의 값을 가지고 있다.

 • chr [1:4] "A" "B" "C" "D": -> chr은 문자형 벡터 나타냄. [1:4]는 벡터의 인덱스 범위를 나타내며, "A", "B", "C", "D"와 같은 문자열 값을 가지고 있다

 • Date[1:10], format: "2019-01-01" "2019-01-02" "2019-01-03" "2019-01-04" "2019-01-05" "2019-01-06" ...: Date는 날짜형 벡터를 낸다 -> [1:10]는 벡터의 인덱스 범위를 나타내며, Date 벡터의 값은 "2019-01-01", "2019-01-02", "2019-01-03", ... 와 같이 2019년 1월 1일부터 10일까지의 날짜이다. 

 

class() : 함수는 객체의 클래스(class)를 반환하는 데 사용

class(v1)
class(v3)
class(v9)

결과값

[1] "numeric"
[1] "character"
[1] "Date"

• 변수형 변환하기 

 

1. as.factor : 데이터를 팩터(factor)로 변환하는 함수

*** 팩터(factor)는 범주형 데이터를 나타내는 R의 데이터 타입

v1_2 = as.factor(v1)
[1] 1 2 3 4 5
Levels: 1 2 3 4 5

팩터의 수준(levels)은 1, 2, 3, 4, 5로 구성되어 있다.

 - [1]: 숫자 1은 팩터의 첫 번째 요소를 나타낸다.

   팩터는 범주형 데이터를 표현하는데 사용되므로, 해당 숫자는 첫 번째 수준(범주)을 나타냅니

 - 1 2 3 4 5: 이 부분은 팩터에 속하는 다섯 개의 값들을 나타냅니다. 각각의 값은 해당 수준(범주)에 속하는 데이터를 나타낸다. 따라서, 1은 첫 번째 수준에, 2는 두 번째 수준에, 3은 세 번째 수준에, 4는 네 번째 수준에, 5는 다섯 번째 수준에 속하는 데이터를 의미

 

gender <- c("Male", "Female", "Female", "Male", "Male", "Female")
gender_factor <- as.factor(gender)
str(gender_factor)
[1] Male   Female Female Male   Male   Female
Levels: Female Male
Factor w/ 2 levels "Female","Male": 2 1 1 2 2 1

gender_factor :  "Male"과 "Female"의 두 가지 수준을 가지는 팩터

 

2. as.character: 문자형으로 변환하는 함수

# 숫자를 문자열로 변환
x <- 123
x <- as.character(x)
print(class(x))  # "character"
print(x)        # "123"

# 논리값을 문자열로 변환
y <- TRUE
y <- as.character(y)
print(class(y))  # "character"
print(y)        # "TRUE"

# 날짜를 문자열로 변환
z <- as.Date("2023-06-17")
z <- as.character(z)
print(class(z))  # "character"
print(z)        # "2023-06-17"

# 벡터를 문자열 벡터로 변환
vec <- c(1, 2, 3)
vec <- as.character(vec)
print(class(vec))  # "character"
print(vec)        # "1" "2" "3"

 

3. as.numeri : 숫자혀응로 변환하는 함수 

# 문자열을 숫자로 변환
x <- "123"
x <- as.numeric(x)
print(class(x))  # "numeric"
print(x)        # 123

# 논리값을 숫자로 변환
y <- TRUE
y <- as.numeric(y)
print(class(y))  # "numeric"
print(y)        # 1

# 날짜를 숫자로 변환
z <- as.Date("2023-06-17")
z <- as.numeric(z)
print(class(z))  # "numeric"
print(z)        # 18857

# 벡터를 숫자 벡터로 변환
vec <- c("1", "2", "3")
vec <- as.numeric(vec)
print(class(vec))  # "numeric"
print(vec)        # 1 2 3

 

728x90
반응형