1.R语言介绍

R语言是用于统计分析,图形表示报告的编程语言和软件环境。R语言是由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman创建的,目前由R Development Core Team开发和维护。R语言的核心是一种解释型的计算机语言,允许使用分支和循环以及函数的模块化编程。 R语言允许与C语言,C++,.Net,Python或FORTRAN语言编写的过程集成,以提高效率。R语言是根据GNU通用公共许可证免费提供的,并为各种操作系统(如Linux,Windows和Mac)提供预编译的二进制版本。R语言是免费软件,GNU项目的官方部分称为GNU S

2.环境安装

下载地址:https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 直接下载地址:https://mirrors.tuna.tsinghua.edu.cn/CRAN/

R2用r语言 r语言 rug_GNU


R2用r语言 r语言 rug_GNU_02


R2用r语言 r语言 rug_GNU_03


R2用r语言 r语言 rug_GNU_04


R2用r语言 r语言 rug_GNU_05

打开GUI

R2用r语言 r语言 rug_数组_06

R2用r语言 r语言 rug_GNU_07

安装成功!

3.R语言基本语法

> str = "hello"
> print(str)
[1] "hello"
>

上图程序中,第一个语句定义了一个字符串变量str,然后分配一个字符串“Hello,World~!”,下一个语句print()用于打印存储在变量str中的值。

R脚本文件

通常,我们通过在脚本文件中编写R代码,然后再通过名为Rscript的R解释器的帮助下,在命令提示符下执行这些脚本。 所以下面演示如何在一个名为test.R的文本中编写代码,如下 -

> myString <- "CXL"
> print(myString)
[1] "CXL"
>

将上述代码保存在test.R文件中,并在Linux命令提示符下执行,如下所示。即使您使用Windows或其他系统,语法将保持不变。

$ Rscript test.R

当我们运行上述程序时,会产生以下结果(Windows)

C:\Users\Administrator>F:

F:>cd worksp\R

F:\worksp\R>dir
2017/08/22  21:52    <DIR>          .
2017/08/22  21:52    <DIR>          ..
2017/08/22  21:53                85 test.R
               1 个文件             85 字节
               2 个目录 53,158,862,848 可用字节

F:\worksp\R>Rscript test.R
[1] "Hello, World!"

F:\worksp\R>

注释

注释就像在R程序中帮助文本,并且在执行实际程序时被解释器忽略。单个注释在语句的开头使用#写成如下:

# My first program in R Programming

R不支持多行注释,但可以执行以下操作:

if(FALSE) {
   "This is a demo for multi-line comments and it should be put inside either a single
      OR double quote"
}

myString <- "Hello, World!"
print ( myString)

R虽然上述注释由R解释器执行,但不会干扰您的实际编程代码。所以我们可以把要注释的内容放入单引号或双引号中。

4.R语言数据类型

向量 列表 矩阵 数组 因子 数据帧

这些对象中最简单的是向量对象,并且向量对象有六种数据类型的原子向量,也称为六类向量。 其他R对象是建立在原子向量之上的。六类向量类型如下表所示 -

R2用r语言 r语言 rug_数据帧_08


在R编程中,非常基本的数据类型是叫作向量的R对象,它们保存不同类的元素,如上所示。 请注意在R语言中,类型的数量不仅限于上述六种类型。 例如,我们可以使用许多原子向量并创建一个数组,其类型将成为数组。

1.向量

当要创建具有多个元素的向量时,应该使用c()函数,表示将元素组合成一个向量。

# Create a vector.
apple <- c('red','green',"yellow");
print(apple);

# Get the class of the vector.
print(class(apple));

上面示例代码,执行结果如下 - > apple <- c(‘red’,‘green’,“yellow”);

> print(apple);
  [1] "red"    "green"  "yellow"
  > print(class(apple));
  [1] "character"
  >

2.列表

列表是一个R对象,它可以包含许多不同类型的元素,如向量,函数,甚至其中的另一个列表。

# Create a list.
list1 <- list(c(2,5,3),21.3,sin);

# Print the list.
print(list1);

R上面示例代码,执行结果如下 -

[[1]]
[1] 2 5 3

[[2]]
[1] 21.3

[[3]]
function (x)  .Primitive("sin")

3.矩阵

矩阵是二维矩形数据集。 它可以使用向量输入到矩阵函数来创建。

# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)

当执行上述代码时,会产生以下结果 -

[,1] [,2] [,3]
[1,] "a"  "a"  "b"
[2,] "c"  "b"  "a"

4.数组

矩阵只能有两个维度,数组可以是任意数量的维数。数组函数采用一个dim属性,创建所需的维数。 在下面的例子中,我们创建一个有两个元素的数组,每个元素都是3x3个矩阵。

# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)

结果如下

, , 1

     [,1]     [,2]     [,3]
[1,] "green"  "yellow" "green"
[2,] "yellow" "green"  "yellow"
[3,] "green"  "yellow" "green"

, , 2

     [,1]     [,2]     [,3]
[1,] "yellow" "green"  "yellow"
[2,] "green"  "yellow" "green"
[3,] "yellow" "green"  "yellow"

5.因子

因子是使用向量创建的R对象。 它将向量存储在向量中的元素的不同值作为标签。标签始终是字符,无论它是输入向量中是数字,还是字符或布尔等。它们在统计建模中很有用。因子使用factor()函数创建。nlevels函数给出了级别的计数。

# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')

# Create a factor object.
factor_apple <- factor(apple_colors)

# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))

结果:

[1] green  green  yellow red    red    red   green 
Levels: green red yellow
# applying the nlevels function we can know the number of distinct values
[1] 3

6.数据帧

数据帧是表格数据对象。与数据帧中的矩阵不同,每列可以包含不同的数据模式。 第一列是数字,而第二列可以是字符,第三列可以是逻辑类型。它是一个长度相等的向量列表。数据帧使用data.frame()函数创建。

# Create the data frame.
BMI <-     data.frame(
   gender = c("Male", "Male","Female"), 
   height = c(152, 171.5, 165), 
   weight = c(81,93, 78),
   Age = c(42,38,26)
)
print(BMI)

结果:

gender height weight Age
1   Male  152.0     81  42
2   Male  171.5     93  38
3 Female  165.0     78  26