R 言語の基礎

R 言語の基礎

新しい言語の学習は、通常、"Hello, World!" プログラムを出力することから始まります. R 言語での "Hello, World!" プログラムのコードは次のとおりです。

## 实例(helloworld.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()
Save workspace image?[y/n/c]: y

ファイルスクリプト

R 言語ファイルには接尾辞.Rが付きます。

次に、runoob-test.R ファイルを作成します。コードは次のとおりです。

## runoob-test.R 文件

myString <- "RUNOOB"

print ( myString )

次に、Rscript を使用して、コマンド ライン ウィンドウでスクリプトを実行します。

Rscript runoob-test.R

出力は次のとおりです。

[1]"RUNOOB"


入出力

print() 出力

print()はR言語の出力関数です。

他のプログラミング言語と同様に、R 言語は数字、文字などの出力をサポートしています。

出力ステートメントは非常に単純です。

print("RUNOOB")
print(123)
print(3e2)

以下の結果:

[1]"RUNOOB"
[1]123
[1]300

R 言語は、node.js や Python と同様にインタープリター言語であるため、コマンド ラインを使用するように R 言語を使用することがよくあります。

1 行に値を入力すると、R はそれを直接正規化します。

>5e-2
[1]0.05

cat() 関数

出力結果の連結が必要な場合は、 cat()関数を使用できます

cat(1, "plus", 1, "equal", 2, '\n')
1 プラス 1 は 2 に等しい

cat()関数は、連結された 2 つの要素ごとに自動的にスペースを追加します。

コンテンツをファイルに出力する

R言語でファイルを出力する方法はたくさんあり、とても便利です。

cat()関数は、結果をファイルに直接出力することをサポートしています。

cat("RUNOOB", file="/Users/runoob/runoob-test/r_test.txt")

このステートメントはコンソールに結果を生成しませんが、「RUNOOB」を「/Users/runoob/runoob-test/r_test.txt」ファイルに出力します。

ファイル パラメータは、絶対パスまたは相対パスにすることができます。絶対パスを使用することをお勧めします。Windows のパス形式はD:\r_test.txtです。

cat("RUNOOB", file="D:\\r_test.txt")

注: この操作は「上書き」操作です。出力ファイルの元のデータが消去されるため、注意して使用してください。「書き込みに追加」したい場合は、忘れずに追加パラメーターを設定してください。

cat("GOOGLE", file="/Users/runoob/runoob-test/r_test.txt", append=TRUE)

上記のコードを実行した後、次のように r_test.txt ファイルを開きます。

RUNOOBGOOGLE

シンク()

sink() 関数は、コンソールからのテキスト出力をファイルに直接出力できます。

sink("/Users/runoob/runoob-test/r_test.txt")

このステートメントの実行後、コンソールの出力はすべて「/Users/runoob/runoob-test/r_test.txt」ファイルに書き込まれ、コンソールには出力が表示されません。

注: この操作は「上書き」操作でもあり、元のファイルの内容が直接消去されます。

それでもコンソール出力を保持したい場合は、分割プロパティを設定できます。

sink("/Users/runoob/runoob-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("RUNOOB")

上記のコードを実行すると、カレントディレクトリに r_test.txt ファイルが作成され、開いたファイルの内容は次のようになります。

[1]1
[1]2
[1]3
[1]4
[1]5
[1]"RUNOOB"

コンソール出力は次のとおりです。

[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("/Users/runoob/runoob-test/r_test.txt")

以下の結果:

[1]"RUNOOBGOOGLE"

読み取り結果は、読み取りファイルに含まれる 2 つの行である 2 つの文字列です。

注:読み取ったテキスト ファイルの各行 (最後の行を含む) には、最後に改行文字が必要です。そうしないと、エラーが報告されます。

その他の方法

Rはテキストの単純な入力と出力に加えて、データの入力と出力のための多くのメソッドを提供します.R言語の最も便利な部分は、データ構造を直接ファイルに保存できることと、CSVとしての保存をサポートしていることです. Excel の表などを直接読み取ることができます。これは間違いなく数学研究者にとって非常に便利です。ただし、これらの関数は、後の章で説明する R 言語の学習にはほとんど影響しません。

作業リスト

ファイル操作の場合、ファイルのパスを設定する必要があります. R 言語は、次の 2 行を介して現在の作業ディレクトリを取得および設定できます。

  • getwd() : 現在の作業ディレクトリを取得します
  • setwd() : 現在の作業ディレクトリを設定します
## 实例

# 当前工作目录

print(getwd())

# 设置当前工作目录

setwd("/Users/runoob/runoob-test2")

# 查看当前工作目录

print(getwd())

上記のコードを実行した結果の出力は次のとおりです。

[1]"/Users/runoob/runoob-test"
[1]"/Users/tianqixin/runoob-test2"

おすすめ

転載: blog.csdn.net/Wis57/article/details/129856879