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-"로 시작하는 행을 저장할 때는 ^
를 사용하여 정확히 해당 패턴으로 시작하는 문자열만 선택하는 것입니다.
'언어 > R' 카테고리의 다른 글
빅데이터 분석 실무 3일차 (0) | 2024.07.10 |
---|---|
빅데이터 분석 실무 2일차 (0) | 2024.07.09 |
빅데이터 분석 실무 1일 차 (0) | 2024.07.08 |