작성자: admin 작성일시: 2016-09-12 17:06:42 조회수: 289 다운로드: 37
카테고리: R 태그목록:

R로 글자를 인쇄하기

R에서 글자를 만들려면 따옴표를 사용한다. 따옴표에는 큰 따옴표(")와 작은 따옴표(')가 있으며 어떤것을 사용해도 된다.

글자를 인쇄하려면 cat() 명령을 사용한다.

R과 같은 프로그래밍 언어에서는 글자를 문자열이라고 부른다. 영어로는 string 이다. 원하는 대로 문자열을 인쇄해 보자.

In [1]:
cat("Hello")
Hello
In [2]:
cat('Good day!')
Good day!
In [3]:
cat("한글도 쓸 수 있어요.")
한글도 쓸 수 있어요.

문자열 연산

R에서는 파이썬처럼 문자열의 덧셈과 곱셈을 지원하지 않는다. 문자열을 숫자처럼 더하거나 반복하려면 다음과 같은 명령을 사용한다.

  • paste 명령: 문자열을 더한다. 이 때 공란 1칸이 글자 사이에 더해진다. 공란을 없애려면 paste(sep="") 명령을 사용한다.
  • rep 명령: 문자열을 반복하여 벡터를 만든다. paste(collapse="") 명령과 결합하면 문자열을 반복할 수 있다. collapse 인수는 벡터를 스칼라로 축소하라는 의미이다.
In [4]:
cat(paste("Hello,", "World!"))
Hello, World!
In [5]:
cat(paste("Hello", "World!", sep=", "))
Hello, World!
In [6]:
cat(paste("내 이름은", "홍길동", "입니다."))
내 이름은 홍길동 입니다.
In [7]:
cat(paste(rep("*", 10), collapse=""))
**********

숫자와 문자열 붙이기

paste 명령은 문자열과 숫자를 붙일 수도 있다.

In [8]:
cat(paste("A", 10))
A 10
In [9]:
n = 10
cat(paste("별표를", n, "번 인쇄합니다."))
cat("\n")
cat(paste(rep("*", 10), collapse=""))
별표를 10 번 인쇄합니다.
**********

한 줄 띄우기

cat() 명령은 여러번 반복해도 다음 줄로 넘어가지 않는다.

만약 여러 줄에 걸쳐 인쇄를 하고 싶으면 위의 예제와 같이 문자열에 "다음 줄 넘기기 기호"를 넣어야 한다.

다음 줄 넘기기는 영어로 line feed 라고 하며 "\n" 라는 글자로 나타낸다.

In [10]:
cat("한 줄 쓰고\n그 다음 줄을 쓴다.")
한 줄 쓰고
그 다음 줄을 쓴다.

문자열 값을 가지는 변수

변수에는 숫자뿐만 아니라 문자열도 넣을 수 있다.

In [11]:
name <- "홍길동"
cat(paste("내 이름은 ", name, "입니다.", sep=""))
내 이름은 홍길동입니다.
In [15]:
mark = "$"
n = 20
cat(paste(mark, "기호를", n, "번 인쇄합니다."))
cat("\n")
cat(paste(rep(mark, n), collapse=""))
$ 기호를 20 번 인쇄합니다.
$$$$$$$$$$$$$$$$$$$$

따옴표를 인쇄하기

R에서 두 가지 종류의 다른 따옴표를 쓸 수 있는 이유는 문자열 안에 따옴표가 들어가는 경우가 있기 때문이다. 만약 따옴표로 둘러싸인 문자열에 따옴가 포함되어 있다면 R은 그 부분에서 문자열이 끝난다고 인식하기 때문에 오류가 발생한다.

만약 문자열 안에 큰 따옴표가 있어야 하는 경우에는 전체 문자열을 작은 따옴표로 둘러싸면 된다.

In [13]:
cat('둘리가 "호이!"하고 말했어요.')
둘리가 "호이!"하고 말했어요.

반대로 문자열 안에 작은 따옴표가 있어야 하는 경우에는 전체 문자열을 큰 따옴표로 둘러싼다.

In [14]:
cat("둘리가 '이제 어디로 가지?'하고 생각했어요.")
둘리가 '이제 어디로 가지?'하고 생각했어요.

연습 문제 1

  1. 다음 문장을 인쇄해 본다.

    R is a language and environment for statistical computing and graphics. 
    It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. 
    R can be considered as a different implementation of S. 
    There are some important differences, but much code written for S runs unaltered under R.
  2. paste 명령과 rep 명령을 사용하여 다음 문자열을 인쇄한다.

    @@@@@@
    @    @
    @    @
    @    @
    @@@@@@

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!