언어/R

빅 데이터 분석 실무 필기 준비

이게될까 2024. 7. 10. 16:35
728x90
728x90

For

 for (i in 1 : 9 ) print(i)

여기까지는 다른 언어와 차이가 없다.

for (i in 1 : 9*2 ) print(i)

여기를 보면 i를 1 ~ 9 까지 가는데 뒤에 붙은 *2 때문에 2배씩 늘어서 진행한다.

for (i in 1 : 3*10 ) print(i)
for (i in 1 : 3 ) print(i*10)

이 두 개가 같은 결과다!

Matrix

a = c('a','b','c','d')
print(matrix(a,nrow=2))

Matrix로 잘 만들어진 모습니다.

print(matrix(a,nrow=2, byrow = TRUE))

byrow를 통해 데이터가 행렬에 들어가는 순서도 변환할 수 있다.

a = c(1:20)
b = matrix(a,nrow = 4)
b[1,]
b[,3]
b[c(1,2),c(1,3,5)]

크기를 키워서 출력 형식을 확인해봤다.

List

a = list (메뉴 = c('치킨','양념치킨','순살치킨'),장소 = '서울', 비고 = c('순살 1500원추가','양념 1000원 추가') )
a[1]
a[2]
a[3]

a$메뉴

a$장소

a$비고[1]

a[c(1,2)]

이렇게 접근도 가능합니다.

dataFrame

a = data.frame(메뉴 = c("양념 치킨", "순살 치킨", "간장 치킨"),가격 = c(19000,20000,19500), 비고 = c("순살은 2000원 추가","후라이드입니다!","순살 2000원 추가"))
a[1,1]
a[1,]
a[,1]
a[c(1,3),c(1,2)]

b = cbind(a, data.frame(평점 = c(4.5,4,4.8)))
b

열을 추가해주는 cbind!

c = rbind(b,c("파닭",20000,"파추가 1000원",4.3))
c

이건 행을 추가해주는 rbind

and = %
or = |
continue = next
break는 그대로 입니다.

문자열 함수

grep 함수는 R에서 패턴 매칭을 위해 사용되는 함수로, 특정 패턴을 포함하는 문자열을 찾는 데 사용됩니다. grep 함수의 주요 기능과 예제를 설명한 후, ORA-로 시작하는 행을 reg_1에 저장하는 방법을 보여드리겠습니다.

grep 함수 설명

grep 함수는 주어진 패턴과 일치하는 문자열의 인덱스를 반환합니다. 주요 인수는 다음과 같습니다:

  • pattern: 찾고자 하는 패턴을 정의합니다. 정규 표현식(regular expression)을 사용할 수 있습니다.
  • x: 검색할 문자열 벡터입니다.
  • value: TRUE로 설정하면 일치하는 값 자체를 반환하고, FALSE로 설정하면 인덱스를 반환합니다. 기본값은 FALSE입니다.
  • ignore.case: TRUE로 설정하면 대소문자를 무시합니다. 기본값은 FALSE입니다.

예제

다음은 간단한 예제입니다:

# 데이터 생성
text_vector <- c("ORA-1234", "Error: Not Found", "ORA-5678", "Warning", "ORA-9101")

# "ORA-"로 시작하는 행을 찾기
grep("ORA-", text_vector)

이제 ORA-로 시작하는 행만 골라서 reg_1에 저장하는 방법을 보여드리겠습니다.

인덱스 번호가 출력된다.

ORA-로 시작하는 행을 reg_1에 저장

# 데이터 생성
text_vector <- c("ORA-1234", "Error: Not Found", "ORA-5678", "Warning", "ORA-9101")

# "ORA-"로 시작하는 행을 찾기
reg_1 <- grep("^ORA-", text_vector, value = TRUE)

# 결과 출력
print(reg_1)

위 코드에서 ^ORA-는 문자열이 ORA-로 시작하는지를 검사하는 정규 표현식입니다. grep 함수의 value 인수를 TRUE로 설정하여, 인덱스 대신 실제 값 자체를 reg_1에 저장하도록 합니다.

결과

[1] "ORA-1234" "ORA-5678" "ORA-9101"

이렇게 하면 ORA-로 시작하는 행이 reg_1에 저장됩니다.

^는 정규 표현식에서 특정 패턴이 문자열의 시작 부분에 위치하는지를 나타내기 위해 사용됩니다. grep 함수에서 ^ORA-를 사용하는 이유는 ORA-가 문자열의 시작 부분에 위치하는지를 확인하기 위해서입니다. 예제를 통해 차이를 더 명확하게 설명하겠습니다.

^가 붙는 이유!

예제 설명

예제에서 grep("ORA-", text_vector)는 단순히 ORA-가 포함된 모든 문자열을 찾습니다. 반면, grep("^ORA-", text_vector, value = TRUE)ORA-로 시작하는 문자열을 찾습니다. 즉, ^를 사용함으로써 ORA-가 반드시 문자열의 첫 부분에 위치해야 한다는 조건을 추가하는 것입니다.

예제 1: grep("ORA-", text_vector)

text_vector <- c("ORA-1234", "Error: ORA-Not Found", "ORA-5678", "Warning", "ORA-9101")

# "ORA-"가 포함된 행을 찾기
result <- grep("ORA-", text_vector)

# 결과 출력
print(result)

이 경우, "ORA-"가 문자열 내 어디에 있든 상관없이 일치하는 모든 문자열의 인덱스를 반환합니다.

결과:

[1] 1 2 3 5

예제 2: grep("^ORA-", text_vector, value = TRUE)

text_vector <- c("ORA-1234", "Error: ORA-Not Found", "ORA-5678", "Warning", "ORA-9101")

# "ORA-"로 시작하는 행을 찾기
reg_1 <- grep("^ORA-", text_vector, value = TRUE)

# 결과 출력
print(reg_1)

이 경우, "ORA-"로 시작하는 문자열만 반환합니다.

결과:

[1] "ORA-1234" "ORA-5678" "ORA-9101"

정리

  • grep("ORA-", text_vector): "ORA-"가 문자열 내 어디에 있든 상관없이 모든 경우를 찾습니다.
  • grep("^ORA-", text_vector, value = TRUE): "ORA-"로 시작하는 문자열만 찾습니다.

따라서 reg_1에 "ORA-"로 시작하는 행을 저장할 때는 ^를 사용하여 정확히 해당 패턴으로 시작하는 문자열만 선택하는 것입니다.

728x90

'언어 > R' 카테고리의 다른 글

빅데이터 분석 실무 3일차  (0) 2024.07.10
빅데이터 분석 실무 2일차  (0) 2024.07.09
빅데이터 분석 실무 1일 차  (0) 2024.07.08