1.基础特点:
R语言是用于统计分析,图形表示和报告的编程语言和软件环境。 以下是R语言的重要特点:
- R语言是一种开发良好,简单有效的编程语言,包括条件,循环,用户定义的递归函数以及输入和输出设施。
- R语言具有有效的数据处理和存储设施,
- R语言提供了一套用于数组,列表,向量和矩阵计算的运算符。
- R语言为数据分析提供了大型,一致和集成的工具集合。
- R语言提供直接在计算机上或在纸张上打印的图形设施用于数据分析和显示。
2.环境设置:
Windows安装
可以从R-3.2.2 for Windows(32/64位)下载R的Windows安装程序版本,并将其保存在本地目录中。
因为它是一个名为“R-version-win.exe”的Windows安装程序(.exe)。 您只需双击并运行安装程序接受默认设置即可。 如果您的Windows是32位版本,它将安装32位版本。 但是如果你的窗口是64位,那么它安装32位和64位版本。
安装后,您可以找到该图标,以在Windows程序文件下的目录结构“R \ R3.2.2 \ bin \ i386 \ Rgui.exe”中运行程序。 单击此图标会打开R-GUI,它是R控制台来执行R编程。
Linux安装
R语言适用于多版本的Linux系统。
各版本Linux的各有不同。具体的安装步骤在上述资源中有对应的教程。但是,如果你是在赶时间,那么你可以用yum命令,如下所示的安装指令
安装R
$ yum install R
以上命令将安装R编程的核心功能与标准包,额外的包需要另外安装,而后你可以按如下提示启动R。
$ R R version 3.2.0 (2015-04-16) -- "Full of Ingredients" Copyright (C) 2015 The R Foundation for Statistical Computing Platform: x86_64-redhat-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. >
现在,您可以在R语言提示符下使用install命令安装所需的软件包。 例如,以下命令将安装为3D图表所需的plotrix软件包。
> install.packages("plotrix")
3.基本语法
命令提示符
如果你已经配置好R语言环境,那么你只需要按一下的命令便可轻易开启命令提示符
$ R
这将启动R语言解释器,你会得到一个提示 > 在那里你可以开始输入你的程序,具体如下。
> myString <- "Hello, World!" > print ( myString) [1] "Hello, World!"
在这里,个语句先定义一个字符串变量myString,并将“Hello,World!”赋值其中,第二句则使用print()语句将变量myString的内容进行打印。
脚本文件
通常,您将通过在脚本文件中编写程序来执行编程,然后在命令提示符下使用R解释器(称为Rscript)来执行这些脚本。 所以让我们开始在一个命名为test.R的文本文件中编写下面的代码
# My first program in R Programming myString <- "Hello, World!" print ( myString)
将上述代码保存在test.R文件中,并在Linux命令提示符下执行,如下所示。 即使您使用的是Windows或其他系统,语法也将保持不变。
$ Rscript test.R
当我们运行上面的程序,它产生以下结果。
[1] "Hello, World!"
注释
注释能帮助您解释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解释器执行,但它们不会干扰您的实际程序。 但是你必须为内容加上单引号或双引号。
4.数据类型
通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息。 变量只是保留值的存储位置。 这意味着,当你创建一个变量,你必须在内存中保留一些空间来存储它们。 您可能想存储各种数据类型的信息,如字符,宽字符,整数,浮点,双浮点,布尔等。基于变量的数据类型,操作系统分配内存并决定什么可以存储在保留内存中。
与其他编程语言(如C中的C和java)相反,变量不会声明为某种数据类型。 变量分配有R对象,R对象的数据类型变为变量的数据类型。尽管有很多类型的R对象,但经常使用的是:
- 矢量
- 列表
- 矩阵
- 数组
- 因子
- 数据帧
Vectors 向量
当你想用多个元素创建向量时,你应该使用c()函数,这意味着将元素组合成一个向量。
# Create a vector. apple <- c('red','green',"yellow") print(apple) # Get the class of the vector. print(class(apple))
当我们执行上面的代码,它产生以下结果
[1] "red" "green" "yellow" [1] "character"
Lists 列表
列表是一个R对象,它可以在其中包含许多不同类型的元素,如向量,函数甚至其中的另一个列表。
# Create a list. list1 <- list(c(2,5,3),21.3,sin) # Print the list. print(list1)
当我们执行上面的代码,它产生以下结果
[[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin")
Matrices 矩阵
矩阵是二维矩形数据集。 它可以使用矩阵函数的向量输入创建。
# 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"
Arrays 数组
虽然矩阵被限制为二维,但阵列可以具有任何数量的维度。 数组函数使用一个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"
Factors 因子
因子是使用向量创建的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 yellow green Levels: green red yellow # applying the nlevels function we can know the number of distinct values [1] 3
Data Frames 数据帧
数据帧是表格数据对象。 与数据帧中的矩阵不同,每列可以包含不同的数据模式。 列可以是数字,而第二列可以是字符,第三列可以是逻辑的。 它是等长度的向量的列表。
使用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