English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Обычно обучение новому языку программирования начинается с вывода программы "Hello, World!". Код программы "Hello, World!" на языке R выглядит следующим образом:
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() Сохранить изображение рабочей среды? [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() поддерживает вывод результатов directamente в файл:
cat("w3codebox", file="/Users/w3codebox/w3codebox-test/r_test.txt")
Эта команда не будет производить результат в консоли, а будет выводить "w3codebox" в файл "/Users/w3codebox/w3codebox-test/r_test.txt".
Параметр file может быть абсолютным или относительным путем, рекомендуется использовать абсолютный путь, формат пути Windows - D:\\r_test.txt.
cat("w3codebox", file="D:\\r_test.txt")
Внимание: Эта операция - "запись поверх", используйте ее с осторожностью, так как она будет очищать原有数据 из файла вывода. Если вам нужно "добавить к записи", не забудьте установить параметр append:
cat("GOOGLE", file="/Users/w3codebox/w3codebox-test/r_test.txt", append=TRUE)
После выполнения вышеуказанного кода откройте файл r_test.txt и увидите следующий контент:
w3codeboxGOOGLE
Функция sink может напрямую записывать текстовый вывод консоли в файл:
sink("/Users/w3codebox/w3codebox-test/r_test.txt")
После выполнения этой строки все выводы на консоли будут записаны в файл "/Users/w3codebox/w3codebox-test/r_test.txt", и вывод на консоль не будет отображаться.
Примечание: Эта операция также является операцией "перезаписи", которая напрямую удаляет原有 файловый контент.
Если мы хотим сохранить вывод в консоли, можно установить атрибут split:
sink("/Users/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 предоставляет множество функций для чтения файлов, но если нужно просто прочитать содержимое файла в строку, можно использовать функцию readLines:
readLines("/Users/w3codebox/w3codebox-test/r_test.txt")
Результат выполнения:
[1] "w3codeboxGOOGLE"
Результат чтения - это два строки, содержащие два строки содержащие содержимое файла.
Внимание:Конец каждой строки текстового файла, включая последнюю, должен быть символом перевода строки, в противном случае появится ошибка.
Кроме простого ввода и вывода текста, R предоставляет множество методов для ввода и вывода данных, одним из самых удобных аспектов языка R является возможность сохранять данные структур прямо в файлы, поддерживая форматы CSV, Excel и другие, и позволяя напрямую читать их. Это无疑 очень удобно для математиков. Однако эти функции не сильно влияют на изучение языка R, мы рассмотрим их в следующих главах.
Для операций с файлами нам нужно установить путь к файлу, язык R позволяет получить и установить текущую рабочую директорию через следующие строки:
getwd() : Получение текущей рабочей директории
setwd() : Установка текущей рабочей директории
# Текущая рабочая директория print(getwd()) # Установка текущей рабочей директории setwd("/Users/w3codebox/w3codebox-test2") # Просмотр текущей рабочей директории print(getwd())
Результат выполнения вышеуказанного кода:
[1] "/Users/w3codebox/w3codebox-test" [1] "/Users/tianqixin/w3codebox-test2"