简单命令:
getwd() dir.create() setwd()
注意:
所有变量,数据及函数 以对象的形式保存在内存中;
数据类型
最简单的是向量对象,并且这些原子向量有六种数据类型,也称为六类向量。 其他R对象建立在原子向量之上。
Logical(逻辑型)TRUE, FALSE
Numeric(数字)12.3,5,999
Integer(整型)2L,34L,0L
Complex(复合型)3 + 2i
Character(字符)'a' , '"good", "TRUE", '23.4'
Raw(原型)"Hello" 被存储为 48 65 6c 6c 6f
Vectors 向量
多个元素创建向量时,你应该使用c()函数,这意味着将元素组合成一个向量。
apple <- c('red','green',"yellow")
print(apple)
print(class(apple))
seq(5, 9, by = 0.4) 序列运算符
C()函数 : 如果其中一个元素是字符,则非字符值被强制转换为字符类型。
访问向量元素
[]括号用于建立索引。 索引从位置1开始。 例如:t[c(2,3,6)]
向量操作 向量运算
对不等长的两个向量应用算术运算,则较短向量的元素被循环以完成操作。
v1 <- c(3,8,4,5,0,11)
v2 <- c(4,11)
# V2 becomes c(4,11,4,11,4,11)
向量元素排序: sort()
sort(v)正序 sort(v, decreasing = TRUE)反序
Lists 列表
列表是一个R对象,它可以在其中包含许多不同类型的元素,如向量,函数甚至其中的另一个列表。
list1 <- list(c(2,5,3),21.3,sin)
命名列表元素:
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")
访问列表元素:
list_data[1]
list_data$A_Matrix
操控列表元素:
可以添加,删除和更新列表元素。只能在列表的末尾添加和删除元素。 但我们可以更新任何元素。
# Add element at the end of the list.
list_data[4] <- "New element"
print(list_data[4])
# Remove the last element.
list_data[4] <- NULL
# Update the 3rd Element.
list_data[3] <- "updated element"
将列表转换为向量:
unlist()函数。 它将列表作为输入并生成向量。
Matrices 矩阵
矩阵是二维矩形数据集。 它可以使用矩阵函数的向量输入创建。
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
访问矩阵的元素:
P[1,3] P[2,] P[,3]
Arrays 数组
矩阵被限制为二维,但阵列可以具有任何数量的维度。 数组函数使用一个dim属性创建所需的维数。
a <- array(c('green','yellow'),dim = c(3,3,2))
使用array()函数创建数组。 它使用向量作为输入,并使用dim参数中的值创建数组。
命名列和行。我们可以使用dimnames参数给数组中的行,列和矩阵命名。
Factors 因子
使用factor()函数创建因子。nlevels函数给出级别计数。
apple_colors <- c('green','green','yellow','red','red','red','green')
factor_apple <- factor(apple_colors)
print(factor_apple)
print(nlevels(factor_apple))
Data Frames 数据帧
表格数据对象。使用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
变量
效的变量名称由字母,数字和点或下划线字符组成。 变量名以字母或不以数字后跟的点开头。
var_name2. var.name
可以使用print()或cat()函数打印变量的值。 cat()函数将多个项目组合成连续打印输出。
注- 向量c(TRUE,1)具有逻辑和数值类的混合。 因此,逻辑类强制转换为数字类,使TRUE为1。
查找变量
要知道工作空间中当前可用的所有变量,我们使用ls()函数。
ls()函数也可以使用模式来匹配变量名。
print(ls(pattern = "var"))
以点(.)开头的变量被隐藏,它们可以使用ls()函数的“all.names = TRUE”参数列出。
print(ls(all.name = TRUE))
删除变量
可以使用rm()函数删除变量。
所有的变量可以通过使用rm()和ls()函数一起删除。
rm(list = ls())
运算符
算术运算符
+ - * / 两个向量的每一项 分别操作
%% 两个向量求余
%/% 两个向量相除求商
^ 将第二向量作为第一向量的指数
关系运算符
返回值 ;布尔值
逻辑运算符
它只适用于逻辑,数字或复杂类型的向量。 所有大于1的数字被认为是逻辑值TRUE。
$ | ! 全部的元素都要比较
$$ || 取两个向量的第一个元素比较;
异或: xor
赋值运算符
这些运算符用于向向量赋值。
左分配 <- <<- =
右分配 ->> ->
其他运算符
: 冒号运算符。 它为向量按顺序创建一系列数字。
%in% 此运算符用于 标识 元素 是否属于 向量。
%*% 此运算符用于将 矩阵 与其 转置 相乘。
决策
if if~else 同c
switch --> 不同于 第一个 表达式是决定选择哪一个的变量;
包
获取包含R包的库位置
.libPaths()
获取已安装的所有软件包列表
library()
获取当前在R环境中加载的所有包
search()
安装一个新的软件包
install.packages("Package Name")
install.packages("E:/XML_3.98-1.3.zip", repos = NULL, type = "source")
装载包到库中
library("package Name")
循环
直到满足停止条件
直到满足停止条件。
For循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。
循环控制语句 next,相当于 continue;
break;
数据重塑 --- i BUG
数据重塑是关于改变数据被组织成行和列的方式。 大多数时间R语言中的数据处理是通过将输入数据作为数据帧来完成的。 很容易从数据帧的行和列中提取数据,但是在某些情况下,我们需要的数据帧格式与我们接收数据帧的格式不同。 R语言具有许多功能,在数据帧中拆分,合并和将行更改为列,反之亦然。
cbind()函数连接多个向量来创建数据帧
使用rbind()函数合并两个数据帧
merge()函数合并两个数据帧。 数据帧必须具有相同的列名称,在其上进行合并。
melt()拆分数据和cast()数据重构
字符串操作
连接字符串 - paste()函数
paste(..., sep = " ", collapse = NULL)
以下是所使用的参数的说明 -
...表示要组合的任意数量的自变量。
sep表示参数之间的任何分隔符。 它是可选的。
collapse用于消除两个字符串之间的空格。 但不是一个字符串的两个字内的空间。
计算字符串中的字符数 - nchar()函数
更改case - toupper()和tolower()函数 这些函数改变字符串的字符的大小写。
提取字符串的一部分 - substring()函数