R语言——基本操作(一)

Billie使劲学 2024-06-13 10:05:12 阅读 51

目录

一、基本操作

二、R包的安装及使用

三、获取帮助

四、内置数据

五、数据结构

六、向量索引

七、向量运算

参考


Rstudio 控制台常用快捷键

Ctrl + ↑ :查看所有历史记录,比直接使用 ↑ 查找更方便

Esc:中断操作,可中断未完成的操作(未完成回车后是 + ),也可以清空命令。

Ctrl + L :清空屏幕

Alt + Shift + K:显示R studio中所有的快捷操作

一、基本操作

getwd():显示当前工作目录

setwd('E:/R')  : 修改当前工作目录地址,注意,此处要使用正斜线

list.files() 和 dir() :查看目录下包含的文件

x <- 3:表示 x=3

x <<- 5 :强制赋值给一个全局变量

sum(1,2,3,4,5) : 求和得15

mean(c(1,2,3,4,5)) or mean(c(1:5)):求均值得3,mean(1,2,3,4,5)得到的是1 ,因为mean()是对第一个参数求均值

ls:列出当前工作空间中定义的所有变量

str(x):列出变量x的详细信息

ls.str():列出当前工作空间中所有变量的详细信息(如值等)

ls(all.name = TRUE):ls() 函数不能列出工作目录下的隐藏文件,添加“all.name=TRUE”就可以显示

rm(x):删除工作空间中不需要的对象,也可以删除多个,用逗号隔开,删除后无法恢复

rm (list=ls()):删除工作空间中所有的对象

history():列出历史记录,history(10) 列出最近的十条历史记录

save.image():保存工作空间,避免软件异常退出,只会保留数据及绘图函数等。

二、R包的安装及使用

在线安装:

install.packages(" R 包名 ") : 注意:安装包,包名要用引号引起来

.libPaths() :显示库所在的地址

library() :显示库中所有的安装包

library(包名) 或 require(包名):载入R包,这里的包名不需要用引号

R基础包在启动R时就会被加载进来:base、datasets、utils、grDevices、graphics、stats、methods、splines、stats4和tcltk。

R包的使用:

help(package=“包名”):列出这个包的帮助文档

library(help="包名):列出包的基础信息

ls("package:包名"):列出R包中所有的函数

data(package="包名"):列出R包中包含的所有数据

detach("package: 包名"):移除加载的包,非删除,可重新使用require或library加载

remove.package("包名"):删除已安装的包

R包的批量移植,在新设备上克隆R包:

installed.packages():列出当前环境中已安装的R包的所有信息

installed.packages()[,1]:获取到当前环境中已安装的包名

Rpack <- installed.packages()[,1]:将所有R的名字保存到一个文件中

save(Rpack, file="Rpack.Rdata"):保存

load("Rpack.Rdata"):在新设备上加载

for (i in Rpack) install.packages():批量安装这些包

三、获取帮助

help.start():获取R的帮助信息

help(函数名) 或 ?函数名:列出某函数的帮助信息,需加载包后再help

??函数名:不需要加载包就可以获取帮助信息

args(函数名):直接在终端中输出函数的参数,快速了解函数的参数而不想查阅详细的文档

example(函数名):获取函数的使用示例

example("hist"):也可以列出绘图示例

demo(graphics):绘图的案例

help(package=包名):查看R安装的某个包的帮助文档

help.search("heatmap"):不知道具体的函数名,模糊查询heatmap相关函数

apropos("sum", mod="function"):列出所有包含sum关键字的函数

RSiteSearch("matlab"):进行网络搜索,使用默认浏览器访问官网,help.search 和 ?? 都只能进行本地的搜索

四、内置数据

help(package="datasets"):查看包中的所有数据集详细信息,数据集存储于datasets这个包中,打开R时默认已加载

data():列出所有的数据集

数据集名:直接输入数据集的名字就可以使用这些数据集,如rivers

revers <- c(1,2,3):选取前三条数据

data("rivers"):重新加载数据集,这里带引号

help("数据集名"):可直接查询某一数据集的详细信息

names(数据集名):输出向量的属性名(columns)

state <- data.frame(state.abb, state.area, state.name):将多条数据构成一个数据框

五、数据结构

数值型:数值可以用于直接计算,加减乘除

字符串型:可以进行连接, 转换,提取等

逻辑型:真或假

日期型等

向量是用于存储数值型、字符型或逻辑型数据的一维数组。

x <- c(1,2,3,4):函数 c 来创建向量,c 代表 concatenate 连接 ,也可以理解为collect, 或者合并combine。

元素为字符型要加引号

元素为逻辑型要全部大写,或大写简写,但不可首字母大写

用 “ :”构建等差数列

使用seq() 函数中的 by 调整等差差值

seq() 函数中的 length.out 控制输出的个数

rep(重复元素,重复次数) 函数生成重复序列

重复元素可以是变量

可是用 each 设置重复方式

each 和 times 同时出现则重复次数为二者的乘积

 rep()函数中的 c(1,4,2,3) 用来控制 a 中每个元素重复的次数

向量中的元素必须是同一类型

数值型和字符串型一起定义时,数值型会被转化为字符串型,用mode(向量名)可以查看向量的类型。

向量运算 a × 2 + b

从a中取出大于3的值

rep()函数中的 c(1,4,2,3) 用来控制 a 中每个元素重复的次数

六、向量索引

正(负)整数索引

逻辑向量索引

名称索引

正负数索引 

length(x) :计算向量的长度

x[3]:获取向量第三个元素,索引从 1 开始,x[0] 什么都不会输出

负整数索引:访问除了这个元素的其他元素

eg:不输出 2 这个元素

x[c(4:12)]:输出第 4 个到第 12 个元素

x[c(1,3,5,6)]:输出对应索引位置的元素

索引里不能既有正数,又有负数

逻辑向量索引 

使用逻辑向量进行向量的索引

输出对应位置为 TRUE的元素

只写一个 T 或 F 则所有元素判断为TRUE 或 FALSE

只有几个 T 或 F 则使用这些条件重复判断

多出一个判断条件,则显示 NA

也可用条件表达式输出符合条件的元素

%in% :判断是否在,在则为TURE

判断z中的每个元素是否在c("one","two")中,在则为TURE,打印z中在c("one","two")中的元素。

名称索引

为向量添加属性名

然后就可以通过属性名访问元素

向量的增删改查 

在向量末尾添加元素

批量添加元素

在最后一个元素后的任意位置添加元素,中间没有元素的位置会置 NA

在向量中间添加元素

append(向量名,添加的值,添加在哪个位置后)

after为0则表示在向量头部添加元素

rm(向量名):删除整个向量

删除向量中的某个元素,采用负整数索引

删除向量中的前两个元素

取出除前两个元素之外的其他元素,再存入新的向量中

修改向量中某个元素的值

若给数值型向量赋值一个字符串类型,则向量变为字符串型向量

七、向量运算

向量的加减乘除操作是对向量的每个元素进行计算

向量之间的运算,对应元素运算

幂运算 **,取余运算 %%,整除运算 %/%

如果两个向量长度不一致,则长的向量要是短的向量元素个数的倍数,短向量被重复计算

逻辑运算 

>, <, =, %in%等,返回 布尔值

x==y:比较两个对象是否相等,用两个等号

函数

abs(x):计算绝对值

sqrt(x):计算平方根

log(x,base=):x为要求的值,base为底数,不加base等同于ln ,以10为底可以写为log10

exp(x):计算向量中每个元素的指数

ceiling(x):不小于x的最小整数

floor(x):不大于x的最大整数

trunc(x):返回整数部分

round(x, digits):四舍五入,digits保留几位小数

sinif(x, digits):四舍五入,digits保留有效数字的位数

sum(vector):sum 求和,vector表示向量

max(vector):求最大值

min(vector):求最小值

range(vector):返回向量的最大值和最小值

mean(vector):求均值

var(vector):求方差

prod(vector):连乘

参考

R语言入门与数据分析



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。