English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
새 언어를 배우는 일은 일반적으로 "Hello, World!" 프로그램을 출력하는 프로그램으로 시작합니다. R 언어의 "Hello, World!" 프로그램 코드는 다음과 같습니다:
myString <- "Hello, World!" print ( myString )
위의 예제에서 문자열 "Hello, World!"를 myString 변수에 대입한 후 print() 함수를 사용하여 출력합니다.
주의:R 언어 대입은 왼쪽 화살표 `<`를 사용합니다.- 시그너리, 하지만 일부 새 버전은 등호를 지원합니다. =.
R 언어의 유효한 변수 이름은 알파벳, 숫자 및 점(.) 또는 언어기호(_)로 구성됩니다.
변수 이름은 알파벳 또는 점(.)로 시작해야 합니다.
변수 이름 | 정확한가요? | 이유 |
---|---|---|
var_name2. | 정확 | 문자로 시작하며, 알파벳, 숫자, 언어기호(_) 및 점(.)로 구성됩니다. |
var_name% | 에러 | %는 불법 문자입니다. |
2var_name | 에러 | 숫자로 시작할 수 없습니다. |
.var_name, var.name | 정확 | 점(.)로 시작할 수 있지만, 점(.) 뒤에는 숫자를 따를 수 없어야 합니다. |
.2var_name | 에러 | 점(.)로 시작하면 점(.) 뒤에는 숫자를 따를 수 없습니다. |
_var_name | 에러 | 언어기호(_)로 시작할 수 없습니다. |
R 언어의 최신 버전의 대입은 왼쪽 화살표 `<`를 사용할 수 있습니다.-、равна、знак равенства = 、правая стрелка -> присвоение:
# использование знака равенства = для присвоения > var.1 = c(0,1,2,3) > print(var.1) [1] 0 1 2 3 # использование левой стрелки <-присвоение > var.2 <- c("learn","R") > print(var.2) [1] "learn" "R" # использование правой стрелки <- присвоение > c(TRUE,1) -> var.3 > print(var.3) [1] 1 1
정의된 변수를 확인하려면 ls() функция:
> print(ls()) [1] "var.1" "var.2" "var.3"
변수를 제거하려면 rm() функция:
> rm(var.3) > print(ls()) [1] "var.1" "var.2" >
이전 장에서는 R의 프로그래밍 환경을 설치하는 방법을 배웠습니다. 다음으로는 R 언어의 대화형 프로그래밍과 파일 스크립트 프로그래밍을 소개할 것입니다。
명령 프롬프트에서 R 명령을 실행하면 대화형 프로그래밍 창에 진입할 수 있습니다:
R
이 명령을 실행하면 R 언어의 해석기가 호출되며 > 기호 뒤에 코드를 입력하면 됩니다。
대화형 명령은 q()를 입력하여 종료할 수 있습니다:
> q() Save workspace image? [y/n/c]: y
R 언어 파일 확장자는 .R입니다。
다음으로 w3codebox-test.R 파일: 코드는 다음과 같습니다:
다음은 명령 프롬프트 창에서 Rscript를 사용하여 스크립트를 실행하는 방법입니다:
Rscript w3codebox-test.R
출력 결과는 다음과 같습니다:
[1] "w3codebox"
print()는 R 언어의 출력 함수입니다。
다른 프로그래밍 언어와 마찬가지로 R 언어는 숫자, 문자 등을 출력할 수 있습니다。
출력 문장은 매우 간단합니다:
print("w3codebox") print(123) print(3e2)
실행 결과:
[1] "w3codebox" [1] 123 [1] 300
R 언어는 node.js와 Python과 같이 해석형 언어이므로 R 언어를 명령 프롬프트와 같이 사용할 수 있습니다。
하나의 행에 값을 입력하면 R도 그 값을 직접 표준화하여 출력합니다:
> 5e-2 [1] 0.05
결과의 연결 출력이 필요하다면 cat() 함수를 사용할 수 있습니다:
> cat(1, "сумма", 1, "равна", 2, '\n') 1 сумма 1 равна 2
cat() 함수는 연결된 두 요소 사이에 자동으로 공백을 추가합니다。
R 언어는 파일에 출력하는 방법이 매우 다양하며 매우 편리합니다。
cat() 함수는 결과를 직접 파일에 출력할 수 있습니다:
cat("w3codebox", file="/사용자/w3codebox/w3codebox-test/r_test.txt")
이 문장은 컨트롤 타블에 결과를 생성하지 않고 대신 "w3codebox"을 \/사용자/w3codebox/w3codebox-test/r_test.txt" 파일에 쓰여집니다。
file 매개변수는 절대 경로나 상대 경로가 될 수 있으며, 절대 경로를 사용하는 것이 좋습니다. Windows 경로 형식은 D:\\r_test.txt입니다.
cat("w3codebox", file="D:\\r_test.txt")
주의: 이 작업은 "쓰기 덮어쓰기" 작업입니다. 출력 파일의 기존 데이터를 지우게 됩니다. "추가 쓰기"를 원하면 append 파라미터를 설정하지 않도록 주의하세요:
cat("GOOGLE", file="/사용자/w3codebox/w3codebox-test/r_test.txt", append=TRUE)
위 코드를 실행한 후, r_test.txt 파일의 내용을 열어보면 다음과 같습니다:
w3codeboxGOOGLE
sink() 함수는 컨트롤 콘솔의 출력 텍스트를 직접 파일에 출력할 수 있습니다:
sink("/사용자/w3codebox/w3codebox-test/r_test.txt")
이 문장이 실행된 후, 컨트롤 콘솔에서의 모든 출력은 "/사용자/w3codebox/w3codebox-test/r_test.txt" 파일에 쓰기되고, 컨트롤 콘솔에 출력되지 않습니다。
주의: 이 작업은 "쓰기 덮어쓰기" 작업입니다. 기존 파일 내용을 직접 지우게 됩니다. 원래 파일 내용을 유지하고자 "추가 쓰기"를 원하면 append 파라미터를 설정하지 않도록 주의하세요:
컨트롤 콘솔의 출력을 유지하려면 split 속성을 설정할 수 있습니다:
sink("/사용자/w3codebox/w3codebox-test/r_test.txt", split=TRUE)
파일 출력을 취소하려면 파라미터 없는 sink를 호출할 수 있습니다:
sink()
sink("r_test.txt", split=TRUE) # 컨트롤 콘솔에도 출력 for (i in 1:5) print(i) sink() # 파일 출력을 취소 sink("r_test.txt", append=TRUE) # 컨트롤 콘솔에 출력하지 않고 파일에 추가로 쓰기 print("w3codebox")
위 코드를 실행하면 현재 디렉토리에 r_test.txt 파일이 생성됩니다. 파일 내용을 열어보면 다음과 같습니다:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] "w3codebox"
컨트롤 콘솔 출력은 다음과 같습니다:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5
우리는 C 언어의 scanf, Java의 java.util.Scanner, Python의 input() 함수에 대해 기억할 수 있습니다. 하지만 R 언어는 자체적으로 해석형 언어로서, 터미널 스크립트 언어(예: bash 또는 PowerShell)와 유사합니다. 이러한 언어는 명령 시스템에 기반하고, 자체적으로 입력과 출력이 필요하며, 사용자 대상 애플리케이션 개발에 적합하지 않습니다(이들은 최종 사용자를 위한 도구이기 때문입니다). 따라서 R 언어는 컨트롤 콘솔에서 입력을 읽는 특별한 함수를 가지고 있지 않으며, 텍스트 입력은 R 사용에서 항상 진행되어 왔습니다.
R 언어에는 풍부한 파일 읽기 함수가 있지만, 특정 파일의 내용을 문자열로 읽고자 할 때는 readLines 함수를 사용할 수 있습니다:
readLines("/사용자/w3codebox/w3codebox-test/r_test.txt")
실행 결과:
[1] "w3codeboxGOOGLE"
읽은 결과는 두 개의 문자열로, 읽은 파일에 포함된 두 행의 내용입니다.
주의:읽은 텍스트 파일의 각 행(맨 마지막 행 포함)의 끝에는 개행 문자가 있어야 하지 않으면 오류가 발생합니다.
문자의 간단한 입력/출력 외에도, R은 데이터를 파일에 직접 저장할 수 있는 많은 방법을 제공합니다. CSV, Excel 테이블 등의 형식으로 저장할 수 있으며, 직접 읽을 수 있습니다. 이는 수학 연구자에게 매우 편리합니다. 그러나 이러한 기능은 R 언어 학습에 큰 영향을 미치지 않으며, 나중 장에서 다룹니다.
파일 작업을 위해 파일 경로를 설정해야 합니다. R 언어는 다음 두 줄을 통해 현재 작업 디렉토리를 가져오고 설정할 수 있습니다:
getwd() : 현재 작업 디렉토리 가져오기
setwd() : 현재 작업 디렉토리 설정
# 현재 작업 디렉토리 print(getwd()) # 현재 작업 디렉토리 설정 setwd("/사용자/w3codebox/w3codebox-test2") # 현재 작업 디렉토리 확인 print(getwd())
위 코드를 실행한 결과는 다음과 같습니다:
[1] "/사용자/w3codebox/w3codebox-test" [1] "/사용자/tianqixin/w3codebox-test2"